Обновление за октябрь 2015 года
Этот ответ был опубликован несколько лет назад, и теперь вопрос действительно должен быть , стоит ли вам даже подумать об использовании тега X-UA-Compatible
на вашем сайте? с изменениями, которые Microsoft внесла в свои браузеры (подробнее об этом ниже).
В зависимости от того, какие браузеры Microsoft вы поддерживаете, вам может не понадобиться продолжать использовать тег X-UA-Compatible
. Если вам нужно поддерживать IE9 или IE8, то я бы порекомендовал использовать тег. Если вы поддерживаете только самые последние версии браузеров (IE11 и / или Edge), я бы рекомендовал вообще отказаться от этого тега. Если вы используете Twitter Bootstrap и вам необходимо исключить предупреждения проверки, этот тег должен отображаться в указанном порядке. Дополнительная информация ниже:
Метатег X-UA-Compatible
позволяет веб-авторам выбирать, в какой версии Internet Explorer должна отображаться страница. IE11 внес изменения в эти режимы; см. примечание IE11 ниже. Microsoft Edge , браузер, который заменил IE11, учитывает только метатег X-UA-Compatible
в определенных обстоятельствах. См. Примечание Microsoft Edge ниже.
Согласно Microsoft, при использовании тега X-UA-Compatible
он должен быть максимально высоким в вашем документе head
:
Если вы используете мета-тег X-UA-Compatible, вы хотите разместить его как можно ближе к верху заголовка страницы. Internet Explorer начинает интерпретацию разметки с использованием последней версии. Когда Internet Explorer обнаруживает мета-тег, совместимый с X-UA, он запускается заново с использованием механизма указанной версии. Это снижение производительности, поскольку браузер должен остановиться и перезапустить анализ содержимого.
Вот ваши варианты:
- "IE = край"
- "IE = 11"
- "IE = EmulateIE11"
- "IE = 10"
- "IE = EmulateIE10"
- "IE = 9"
- "IE = EmulateIE9
- "IE = 8"
- "IE = EmulateIE8"
- "IE = 7" * * тысяча пятьдесят-одна
- "IE = EmulateIE7"
- "IE = 5"
Чтобы попытаться понять, что означает каждый из них, вот определения, предоставленные Microsoft:
Internet Explorer поддерживает несколько режимов совместимости документов, которые включают различные функции и могут влиять на способ отображения содержимого:
В пограничном режиме Internet Explorer отображает содержимое в самом высоком доступном режиме. В Internet Explorer 9 это эквивалентно режиму IE9. Если в будущем выпуске Internet Explorer будет поддерживаться режим более высокой совместимости, страницы, переведенные в граничный режим, будут отображаться в самом высоком режиме, поддерживаемом этой версией. Те же самые страницы будут по-прежнему отображаться в режиме IE9 при просмотре в Internet Explorer 9.
Internet Explorer поддерживает несколько режимов совместимости документов, которые включают различные функции и могут влиять на способ отображения содержимого:
Режим IE11 обеспечивает высочайшую поддержку, доступную для существующих и развивающихся отраслевых стандартов, включая HTML5, CSS3 и другие.
Режим IE10 обеспечивает высочайшую поддержку, доступную для существующих и развивающихся отраслевых стандартов, включая HTML5, CSS3 и другие.
Режим IE9 обеспечивает высочайшую поддержку, доступную для установленных и разрабатываемых отраслевых стандартов, включая HTML5 (рабочий проект), спецификацию каскадных таблиц стилей W3C уровня 3 (рабочий проект), спецификацию масштабируемой векторной графики (SVG) 1.0 и другие. [Примечание редактора: IE 9 не поддерживает анимацию CSS3].
Режим IE8 поддерживает множество установленных стандартов, включая спецификацию каскадных таблиц стилей W3C уровня 2.1 и API селекторов W3C; он также предоставляет ограниченную поддержку спецификации уровня 3 каскадных таблиц стилей W3C (рабочий проект) и других появляющихся стандартов.
В режиме IE7 содержимое отображается так, как если бы оно отображалось в стандартном режиме Internet Explorer 7, независимо от того, содержит ли страница директиву.
В режиме эмуляции IE9 Internet Explorer использует директиву для определения способа отображения содержимого.Директивы стандартного режима отображаются в режиме IE9, а директивы режима совместимости отображаются в режиме IE5.В отличие от режима IE9, режим эмуляции IE9 соответствует директиве.
В режиме эмуляции IE8 Internet Explorer использует директиву для определения способа визуализации содержимого.Директивы режима стандартов отображаются в режиме IE8, а директивы режима причуд - в режиме IE5.В отличие от режима IE8, в режиме эмуляции IE8 соблюдается директива.
В режиме эмуляции IE7 Internet Explorer использует директиву для определения способа визуализации содержимого.Директивы режима стандартов отображаются в стандартном режиме Internet Explorer 7, а директивы режима причуд отображаются в режиме IE5.В отличие от режима IE7, режим эмуляции IE7 соответствует директиве.Для многих веб-сайтов это предпочтительный режим совместимости.
В режиме IE5 содержимое отображается так, как если бы оно отображалось в режиме «причуд» Internet Explorer 7, что очень похоже на то, как оно было.отображается в Microsoft Internet Explorer 5.
IE10 ПРИМЕЧАНИЕ. Начиная с IE10, режим причуд действует по-другому, чем в предыдущемверсии браузера.В IE9 и более ранних версиях режим причуд ограничивал веб-страницу функциями, поддерживаемыми IE5.5.В IE10 режим quirks соответствует различиям, указанным в спецификации HTML5.
Лично я всегда выбираю метатег http-equiv="X-UA-Compatible" content="IE=edge"
, так как в старых версиях есть множество ошибок, и я не хочу, чтобы IE решалперейдите в «Режим совместимости» и покажите мой сайт как IE7 против IE8 или 9. Я всегда предпочитаю последнюю версию IE.
IE11
С Microsoft :
Начиная с IE11, режим краяпредпочтительный режим документа;он обеспечивает высочайшую поддержку современных стандартов, доступных для браузера.
Используйте декларацию типа документа HTML5 для включения режима края:
<!doctype html>
Режим края был введен вInternet Explorer 8 и был доступен в каждом последующем выпуске.Обратите внимание, что функции, поддерживаемые пограничным режимом, ограничены функциями, поддерживаемыми конкретной версией браузера, отображающей содержимое.
Начиная с IE11, режимы документов устарели и больше не должны использоваться, кроме как на временной основе,Обязательно обновляйте сайты, которые используют устаревшие функции и режимы документов, чтобы они соответствовали современным стандартам.
Если необходимо настроить таргетинг на определенный режим документов, чтобы ваш сайт функционировал, пока вы переделываете его для поддержки современных стандартов и функций, имейте в видучто вы используете переходную функцию, которая может быть недоступна в будущих версиях.
Если вы в настоящее время используете x-ua-совместимый заголовок для таргетинга на устаревший режим документа, возможно, ваш сайт не будетотразить лучший опыт, доступный с IE11.
Microsoft Edge (замена для Internet Explorer, который поставляется в комплекте с Windows 10)
Информация о X-UA-Compatible
метатеге для "Edge" версии IE. От Microsoft :
Представление «живого» режима Edge для документов
Как мы объявили в августе 2013 года, мы не поддерживаем режимы документовпо состоянию на IE11.С нашими последними обновлениями платформы потребность в устаревших режимах документов в основном ограничивается устаревшими веб-приложениями Enterprise.С новыми архитектурными изменениями эти устаревшие режимы документов будут изолированы от изменений в «живом» режиме Edge, что поможет гарантировать гораздо более высокий уровень совместимости для клиентов, которые зависят от этих режимов, и поможет нам еще быстрее перейти к улучшениям в Edge,IE по-прежнему будет поддерживать режимы документов, обслуживаемые сайтами интрасети, сайтами в списке совместимости и только при использовании в режиме предприятия.
Общедоступные интернет-сайты будут отображаться с новой платформой режима Edge (без учета X-UA-совместимого).Нашей целью является то, что отсюда Edge является «живым» режимом документа, и дальнейшие режимы документов не будут введены в дальнейшем.
С изменениями в Microsoft Edge, которые больше не поддерживают режимы документов в большинствеВ некоторых случаях у Microsoft есть инструмент для сканирования вашего сайта и проверки наличия кода, несовместимого с Edge.
Chrome = 1 Информация для IE
Существует также chrome=1
, который вы можете использовать или использовать вместе с одним из вышеуказанных параметров, таких как: <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
.chrome=1
предназначен для Google Chrome Frame, который определяется как:
Google Chrome Frame - это подключаемый модуль браузера с открытым исходным кодом.Пользователи, у которых установлен подключаемый модуль, имеют доступ к открытым веб-технологиям Google Chrome и быстрому механизму JavaScript при открытии страниц в браузере.
Google Chrome Frame без проблем расширяет возможности просмотра в Internet Explorer.Он отображает сайты с поддержкой Google Chrome Frame с использованием технологии рендеринга Google Chrome, предоставляя вам доступ к новейшим функциям HTML5, а также к функциям и функциям безопасности Google Chrome без какого-либо прерывания вашего обычного использования браузера.
Когда Google Chrome FrameПосле того, как вы установите этот плагин, вы должны использовать chrome=1
в метатеге X-UA-Compatible
.
Более подробную информацию о Chrome Frame можно найти здесь .
Примечание: Google Chrome Frame работает только для IE6 - IE9 и был уволен 25 февраля 2014 года. Более подробную информацию можно найти здесь .Спасибо @mck за ссылку.
Проверка:
HTML5 :
Страница будет подтверждена с использованием W3Валидатор только при использовании <meta http-equiv="X-UA-Compatible" content="IE=Edge">
.Для других значений он выдаст ошибку: A meta element with an http-equiv attribute whose value is X-UA-Compatible must have a content attribute with the value IE=edge.
Другими словами, если у вас есть IE=edge,chrome=1
, он не будет проверен.Я полностью игнорирую эту ошибку, так как современные браузеры просто игнорируют эту строку кода.
Если у вас должен быть полностью допустимый код, рассмотрите возможность сделать это на уровне сервера, установив заголовок HTTP.В качестве примечания Microsoft говорит, If both of these instructions are sent (meta and HTTP), the developer's preference (meta element) takes precedence over the web server setting (HTTP header).
См. ответ olibre или bitinn's answer для получения дополнительной информации о том, как установить HTTP-заголовок.
XHTML
Нет проблем с проверкой при использовании <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
, если тег правильно закрыт (т. Е. />
против >
).
TwitterBootstrap
Этот тег настоятельно рекомендуется командой Bootstrap как минимум с 2014 года, а Bootlint , линтер, созданный командой twbs, продолжает выдавать предупреждение когда тег опущен.ЛИНТЕР различает предупреждения и ошибки, и поэтому серьезность пропуска этого тега может считаться незначительной.
Подробнее о X-UA-Compatible
см. веб-сайт Microsoft, определяющий совместимость документов .
Подробнее о том, что поддерживает IE, см. caniuse.com .
Подробнее о требованиях Twitter Bootstrap см. В проекте bootlint вики-страница .