Обновление за октябрь 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 режим совместимости соответствует различиям, указанным в спецификации 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 :
Представляем «живой» режим пограничного документа
Как мы объявили в августе 2013 года, мы не поддерживаем режимы документов начиная с IE11. С нашими последними обновлениями платформы потребность в устаревших режимах документов в основном ограничивается устаревшими веб-приложениями Enterprise. С новыми архитектурными изменениями эти устаревшие режимы документов будут изолированы от изменений в «живом» режиме Edge, что поможет гарантировать гораздо более высокий уровень совместимости для клиентов, которые зависят от этих режимов, и поможет нам еще быстрее перейти к улучшениям в Edge , IE будет по-прежнему соблюдать режимы документов, обслуживаемые сайтами интрасети, сайтами в списке совместимости и только при использовании в режиме предприятия.
Общедоступные интернет-сайты будут отображаться с новой платформой режима Edge (игнорируя X-UA-Compatible). Нашей целью является то, что отсюда 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 Validator только при использовании <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 за более подробной информацией о том, как установить HTTP-заголовок.
XHTML
Нет проблем с проверкой при использовании, <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
если тег правильно закрыт (т. />
Е. Против >
).
Twitter Bootstrap
Этот тег настоятельно рекомендуется командой Bootstrap по крайней мере с 2014 года, и Bootlint , линтер , созданный командой twbs, продолжает выдавать предупреждение, если тег пропущен. Линтер различает предупреждения и ошибки, и поэтому серьезность пропуска этого тега может считаться незначительной.
Для получения дополнительной информации X-UA-Compatible
см. Веб-сайт Microsoft, определяющий совместимость документов .
Для получения дополнительной информации о том, что поддерживает IE, см. Caniuse.com .
Для получения дополнительной информации о требованиях Twitter Bootstrap см. Вики-страницу проекта bootlint .