Оглавление

Корректное отображение в IE 8 сайта, соответствующего стандартам W3C

Как уже было сказано ранее, Internet Explorer 8 может отображать сайты так же, как это сделала бы его предыдущая версия, в том числе и присваивая части из них свойство hasLayout и вызывая множество несоответствий, с которыми дизайнеры боролись на протяжении многих лет. Как удостовериться, что IE8 использует самый современный режим отображения, а не имитирует поведение IE7, при отображении вашего веб-сайта?

 

Решение
Internet Explorer 8 - очень мощный браузер, и вам наверняка хотелось бы, чтобы он не жалел сил и отображал разрабатываемый вами новый сайт как можно лучше. Рассматривая результат обработки CSS-кода различными браузерами, я пришла к выводу, что в настоящее время можно встретить не так уж много расхождений между IE8, Firefox 3 или Safari 3 или 4. Как обычно, по умолчанию Internet Explorer 8 будет использовать переключение режимов отображения, чтобы решить, как нужно отображать страницу - в стандартном режиме или в режиме совместимости. Для поддержки обратной совместимости и в то же время пытаясь «не порвать Всемирную паутину», Microsoft ввела вид в режиме совместимости (Compatibility View) и головную метку x-ua-compatible, дающую браузеру указания по поводу того, каким образом ему следует отображать страницы - максимально соответствуя стандартам или имитируя способ обработки кода браузером Internet Explorer 7.

 

Вид в режиме совместимости можно включить в браузере, а метка x-ua-compatible указывается в коде документа с помощью тега <meta /> или в заголовке HTTP, пересылаемом с сервера. Пользователь может включить отображение в режиме совместимости, нажав на кнопку Compatibility View; кроме того, все сайты, включенные в список Compatibility View List браузера Internet Explorer 8 для Windows, также будут отображаться в режиме совместимости. Данный список составлен Microsoft, и пользователи IE8 могут оформить подписку на него.(1)
Метка x-ua-compatible - это указание для браузера, переопределяющее все текущие настройки совместимости. Ниже приведен пример тега meta:

<meta http-equiv=”X-UA-Compatible” content=”IE=8” />
 

Его использование обеспечит отображение страницы в Internet Explorer 8 в режиме наибольшего соответствия стандартам. Чтобы при обработке документа браузер имитировал поведение Internet Explorer 7, нужно задать значение атрибута IE=EmulateIE7. При указании значения IE=Edge Internet Explorer 8 и ниже всегда будет использовать для отображения сайтов режим наибольшего соответствия стандартам.
Если вы занимаетесь разработкой сайта с нуля, я рекомендую вам обойтись без заголовка x-ua-compatible или выставить значение IE=Edge. При использовании правильного элемента doctype Internet Explorer постарается отобразить сайт как можно лучше безо всякого заголовка x-ua-compatible - вы ведь пишете код в соответствии со стандартами и совершенно не планируете попасть в тот злополучный список Microsoft? В противном случае - при использовании x-ua-compatible - рекомендую вам использовать именно значение IE=Edge (а не 1Е=1Е8 и др.). Тогда при выходе 9-й версии Internet Explorer ваш сайт не застынет навечно в виде дляIE8.
Более подробную информацию по данной теме можно найти в замечательной статье, опубликованной Фаруком Эйтсом (Faruk Ates) в своем блоге. Она называется «IE8 and the X-UA-Compatible situation» (IE8 и ситуация с переключением режимов с помощью заголовка X-UA-Compatible).(2)

Примечания:
Комментарии принадлежат их авторам. Мы не несем ответственности за их содержание.
Отправитель Нити