Как отключить представление совместимости в 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, в котором обсуждался режим совместимости и как отключить его для вашего сайта.