Мета тег X-UA-Compatible для IE8+

Ответить
Аватара пользователя
Distructor
Администратор
Сообщения: 1607
Зарегистрирован: 28.12.2009
Выпуская новые версии IE (Windows Internet Explorer) компания Microsoft вынуждена была продолжать поддержку старых версий.

IE6 стоит не только на древних машинах "древних" пользователей, но и в некоторых компаниях, в которых пользователь не может сам сменить браузер, либо на предприятиях где используются специализированные программы (часто программы для работы с банками) написанные давно и за большие деньги (и как обычно средств и желания (работает - не трогай) на переписывание до нормального состояния нет) и работающие только в IE6. Встречаются такие "поделки" и в широком доступе, например, этим отличилась и компания D-Link, у которой в панели управления ADSL-модемом (было замечено в модели DSL-524T) все функции работали только в IE6-7.

Чтобы все эти ресурсы продолжали работать и в IE8 в нем изначально по умолчанию использовался режим отображения IE7. А чтобы просмотреть сайт в режиме отображения IE8 веб-мастеру предлагалось вставить в код специальный META-тег.

Но после продолжительных обсуждений (http://habrahabr.ru/blogs/microsoft/21041/) все же было принято решение о том чтобы IE8 по умолчанию использовал режим отображения IE8 (http://habrahabr.ru/blogs/microsoft/33405/) максимально соответствующий стандартам по сравнению с более ранними версиями, а META-тег X-UA-Compatible использовать для переключения браузера в более старые режимы отображения.


Теперь, после того как у вас сформировалось понятие того для чего использовать этот META-тег
(по крайней мере я на это надеюсь), рассмотрим его синтаксис:

Мета тег X-UA-Compatible управляет режимом отображением страниц в браузерах IE начиная с версии 8.

Синтаксис

Код: Выделить всё

<meta http-equiv="X-UA-Compatible" content=" ... " />
Возможные значения атрибута "content":
  • "IE=5" Quirks mode (режим совместимости) поддерживается в IE8+
    Отображение содержимого в режиме совместимости IE7, сходном с отображением содержимого обозревателем IE 5.

    "IE=7" IE 7 Standards mode (стандартный режим IE7) поддерживается в IE8+
    Отображение содержимого в стандартном режиме IE7 независимо от того, содержится ли на странице директива <!DOCTYPE>.

    "IE=EmulateIE7" IE 7 Emulation mode (режим эмуляции IE7) поддерживается в IE8+
    принуждает IE использовать директиву <!DOCTYPE> для определения способа отображения содержимого. Директивы стандартного режима отображаются в стандартном режиме IE7, а директивы режима совместимости отображаются в режиме IE5. Это предпочтительный режим совместимости для многих веб-узлов созданных несколько лет назад.

    "IE=8" IE 8 Standards mode (стандартный режим IE8) поддерживается в IE8+
    Отображение содержимого в стандартном режиме IE8, отображает страницы так, как это делает браузер IE8 независимо от того, содержится ли на странице директива <!DOCTYPE>

    "IE=EmulateIE8" IE 8 Emulation mode (режим эмуляции IE8) поддерживается в IE8+
    принуждает IE использовать директиву <!DOCTYPE> для задания способа отображения содержимого. Директивы стандартного режима отображаются в стандартном режиме IE8, а директивы режима совместимости отображаются в режиме IE5.

    "IE=9" IE 9 Standards mode (стандартный режим IE9) поддерживается в IE9+
    Отображение содержимого в стандартном режиме IE9, отображает страницы так, как это делает браузер IE9 независимо от того, содержится ли на странице директива <!DOCTYPE>

    "IE=EmulateIE9" IE 9 Emulation mode (режим эмуляции IE9) поддерживается в IE9+
    принуждает IE использовать директиву <!DOCTYPE> для задания способа отображения содержимого. Директивы стандартного режима отображаются в стандартном режиме IE9, а директивы режима совместимости отображаются в режиме IE5.

    "IE=edge" Edge mode (современный режим) поддерживается в IE8+
    всегда использует последний доступный стандартный режим отображения независимо от <!DOCTYPE>
Пример

Код: Выделить всё

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
META-тег X-UA-compatible не зависит от регистра, тем не менее он должен находиться в заголовке веб-страницы (раздел HEAD) до всех других элементов, за исключением элемента TITLE и других элементов META.
В противном случае он игнорируется!


Copyright © 2011 Creaternal
При написании использовались данные http://msdn.microsoft.com/ru-ru/library/cc817575.aspx и нескольких других статей.

Ответить