Я использую отличный шаблон сброса HTML 5 на html5reset.org, и мой метатег, совместимый с X-UA, похоже, не работает. Вот как выглядит мой заголовок:
<!DOCTYPE html>
<!--[if lt IE 7 ]> <html class="ie ieNoHtml5 ie6 no-js" lang="en"> <![endif]-->
<!--[if IE 7 ]> <html class="ie ieNoHtml5 ie7 no-js" lang="en"> <![endif]-->
<!--[if IE 8 ]> <html class="ie ieNoHtml5 ie8 no-js" lang="en"> <![endif]-->
<!--[if IE 9 ]> <html class="ie ie9 no-js" lang="en"> <![endif]-->
<!--[if (gt IE 9)|!(IE)]><!--><html class="no-js" lang="en"><!--<![endif]-->
<!-- the "no-js" class is for Modernizr. -->
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<title>Title of Page</title>
Отображается возможность использования режима просмотра совместимости в IE (значок сломанной страницы в поле URL). Проблема в том, что некоторые из моих клиентов установили свои браузеры IE9 в режим «всегда использовать режим совместимости», в результате чего веб-сайт выглядит как IE7, даже если они используют IE9, и X-UA-Compatible должен переопределить этот режим. .
Теперь, если я удалю забавный заголовок:
<!DOCTYPE html>
<html class="no-js" lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
... он внезапно начинает нормально работать.
Я заметил, что html5reset.org сам по себе отображает значок неработающей страницы, так что он тоже не работает, но html5boilerplate.com работает и, кажется, использует тот же подход.
Добавление X-UA-Compatible в заголовок ответа через конфигурацию веб-сервера, кажется, исправляет это, но я бы не стал полагаться на этот подход.
Обновление: кажется, что html5boilerplate.com просто отправляет X-UA-Compatible в заголовках ответа HTTP, если обнаруживает, что браузер IE. Кажется, это правильный путь.