Как отключить представление совместимости в IE
Мне интересно, как вы останавливаете людей, которые используют IE 8 для перехода в режим совместимости?
<meta http-equiv="X-UA-Compatible" content="IE=8" />
Я нашел этот тег, и я думаю, что это заставляет людей оставаться в режиме IE-8, но я не слишком уверен и не могу проверить, как у меня IE 9.
Если люди находятся в режиме IE 9, я заставляю их не переходить в режим совместимости IE 8 или IE 7?
Я попытался поместить указанную выше строку в свой код и перешел в IE 9 → Инструменты → Вид совместимости (Grayed Out)
но "Параметры просмотра совместимости" не были выделены серым цветом, и, похоже, вы могли добавить туда сайт.
Значит, это не отключить?
Ответы
Ответ 1
<meta http-equiv="X-UA-Compatible" content="IE=8" />
должен заставить вашу страницу отображать в стандартах IE8. Пользователь может добавить сайт в список совместимости, но этот тег будет иметь приоритет.
Быстрый способ проверить - загрузить страницу и ввести следующую адресную строку:
javascript:alert(navigator.userAgent)
Если вы видите IE7 в строке, она загружается в режиме совместимости, иначе нет.
Ответ 2
Все, что вам нужно, это принудительно отключить C.M. в IE - просто вставьте этот код (в IE9 и под ним будет отключен):
<meta http-equiv="X-UA-Compatible" content="IE=9; IE=8; IE=7; IE=EDGE" />
Источник: http://twigstechtips.blogspot.com/2010/03/css-ie8-meta-tag-to-disable.html
Ответ 3
Этого должно быть достаточно, чтобы заставить пользователя IE
отказаться от режима совместимости в любой версии IE
:
<meta http-equiv="X-UA-Compatible" content="IE=EDGE" />
Однако есть несколько предостережений, о которых следует знать:
- Метатег выше должен быть включен как самый первый тег в
<head>
. Над ним может быть размещен тег <title>
.
Если вы этого не сделаете, вы получите сообщение об ошибке IE9
Dev Tools: X-UA-Compatible META tag ignored because document mode is already finalized.
-
Если вы хотите, чтобы эта разметка проверялась, убедитесь, что вы закрыли тег meta
с помощью />
, а не только >
.
-
Начиная с IE11
, режим граничного режима является предпочтительным режимом документа. Чтобы поддержать/включить это, используйте объявление типа документа HTML5 <!doctype html>
.
-
Если вам нужно поддерживать webfonts на IE7
, убедитесь, что вы используете <!doctype html>
. Я протестировал его и обнаружил, что рендеринг webfonts на IE7
стал довольно ненадежным при использовании <!doctype html>
.
Использование Google Chrome Frame является популярным, но, к сожалению, оно будет выпущено в этом месяце, январь 2014 года.
<meta http-equiv="X-UA-Compatible" content="IE=EDGE,chrome=1">
Обширная связанная информация здесь. Совет по использованию его в качестве первого метатега находится на ранее упомянутом источнике здесь, который был обновлен.
Ответ 4
Если вы используете ASP.NET MVC, я нашел Response.AddHeader("X-UA-Compatible", "IE=edge,chrome=1")
в блоке кода в _Layout, чтобы работать достаточно хорошо:
@Code
Response.AddHeader("X-UA-Compatible", "IE=edge,chrome=1")
End Code
<!DOCTYPE html>
everything else
Ответ 5
Ответ, данный FelixFett, работал у меня. Повторить:
<meta http-equiv="X-UA-Compatible" content="IE=11; IE=10; IE=9; IE=8; IE=7; IE=EDGE" />
У меня это как первый мета-тег в моем коде. Я добавил 10 и 11, так как это версии, опубликованные сейчас для Internet Explorer.
Я бы просто прокомментировал его ответ, но у меня нет достаточно высокой репутации...
Ответ 6
Другим способом достижения этого в Apache является размещение следующих строк в .htaccess
в корневой папке вашего сайта (или в файлах конфигурации Apache).
BrowserMatch "MSIE" isIE
BrowserMatch "Trident" isIE
Header set X-UA-Compatible "IE=edge" env=isIE
Для этого требуется, чтобы у вас были модули mod_headers
и mod_setenvif
.
Дополнительный HTTP-заголовок отправляется только в IE-браузеры, и ни один из остальных.
Ответ 7
В JSF я использовал:
<h:head>
<f:facet name="first">
<meta http-equiv="X-UA-Compatible" content="IE=EDGE" />
</f:facet>
... other meta tags ...
</h:head>
Ответ 8
Добавление тега на вашу страницу не будет управлять пользовательским интерфейсом в панели управления Интернетом (диалоговое окно, которое появляется при выборе Инструменты → Параметры). Если вы смотрите на свою домашнюю страницу, которая может быть google.com, msn.com, about: blank или example.com, панель управления Internet не имеет возможности узнать, что такое содержимое вашей страницы, и она не будет загружать это в фоновом режиме.
Посмотрите этот документ в MSDN, в котором обсуждался режим совместимости и как отключить его для вашего сайта.