IE8 и совместимость: функция Compatibility View

В самом начале проекта Internet Explorer 8 мы обещали обеспечить максимальную совместимость с веб-сайтами. Следует отметить, что наши цели нисколько не изменились. Другими словами, совместимость была и остается важнейшим свойством Internet Explorer 8.

В Beta 2 дебютировала новая функция под названием Compatibility View. По сути Compatibility View позволяет комфортно просматривать в Internet Explorer 8 сайты, созданные для предыдущих версий обозревателя.

Compatibility View и домашние пользователи

Когда веб-сайт создан в полном соответствии с существующими веб-стандартами, Internet Explorer 8 обрабатывает его с помощью нового стандартизированного движка. Как правило, в большинстве случаев это работает. Однако, когда страница сообщает, что «ее следует отображать согласно современным стандартам», на деле это означает, что «ее следует отобразить так, как Internet Explorer 7 отображает страницы, созданные в соответствии со стандартами». Именно для таких случаев нужна функция Compatibility View.

В IE8 мы внесли большое число изменений в режим совместимости, но следует особо отметить следующие:

· По умолчанию все Интернет-сайты будут отображаться в режиме IE8 Standards Mode.

· Переключение между обычным режимом и режимом совместимости (между режимами IE7 и IE8) происходит на лету без перезапуска обозревателя.

· Режим Compatibility View зависит от домена.

Новая кнопка Compatibility View, располагающаяся прямо на панели навигации – справа от адресной строки и рядом с кнопкой Refresh, призвана заменить кнопку Emulate IE7 из Beta 1.

clip_image002

IE8 отображает эту кнопку только в том случае, если переключение в режим совместимости имеет смысл, к примеру, при просмотре страниц, созданных в режиме Standards Mode. В других ситуациях, например, при просмотре страниц в режиме Quirks или просмотре интранет-сайтов, IE скрывает эту кнопку.

При нажатии кнопки Compatibility View происходит обновление страницы. В любом случае всплывающая подсказка даст вам знать, что сайт отображается в режиме совместимости. Кроме того, после исчезновения подсказки иконка Compatibility View позволит понять, в каком режиме вы работаете.

clip_image004

"Рамки" эмуляции ограничены просматриваемым доменом, а не, к примеру, закладкой. Кроме того, Internet Explorer запоминает предпочтения пользователя, поэтому при следующем просмотре сайта вам не придется повторно нажимать кнопку.

Compatibility View и корпоративные пользователи

Сегодня огромное число веб-сайтов совместимы с Internet Explorer 7. С целью сохранения совместимости в Internet Explorer 8 настройки новой версии зависят от зоны, в которой находится сайт. По умолчанию все публичные сайты отображаются в режиме Internet Explorer 8 (режим Compatibility View отключен), а все интранет-сайты – в режиме Standards Mode Internet Explorer 7 (режим Compatibility View включен).

Давайте рассмотрим несколько примеров. Если вы решили посетить такие сайты, как https://www.msn.com или https://www.live.com, то режим Compatibility View отключен по умолчанию. Internet Explorer 8 сообщает о своей версии через строку User Agent, поэтому такие страницы отображаются в режиме Standards Mode IE8. Тоже самое происходит, когда переход на сайт осуществляется прямым вводом IP-адреса, скажем https://192.168.0.1. Поскольку Internet Explorer не может сообщить, к какой зоне принадлежит IP-адрес – внешней или локальной, то он предполагает, что к последней. В таком случае лучше воспользоваться опцией Compatibility View, которая пришла на замену функции Emulate IE7.

При навигации по таким сайтам вида https://myPortal и https://sharepoint/sites/mySite, Internet Explorer 8 сообщает сайтам строку User Agent, соответствующую IE7, а сайты отображаются в режиме Standards Mode Internet Explorer 7. Поэтому сайты, корректно работающие в Internet Explorer 7, будут корректно работать и в IE8.

Также следует отметить, что локальные страницы вида «C:\Temp\MyWebPage.htm» по умолчанию отображаются в режиме Internet Explorer 8 (режим Compatibility View отключен).

Новый пункт в меню Tools позволяет осуществлять дополнительную настройку.

clip_image006

clip_image008

Можно выбрать настройки так, чтобы все интранет-сайты отображались в режиме Internet Explorer 8. Также можно настроить политики, чтобы любой из просматриваемых сайтов открывался в режиме Internet Explorer 7 Compatibility View (идентично поведению в Internet Explorer 8 Beta 1 при нажатии кнопки Emulate IE7). И наконец, вы можете определить список сайтов, которые всегда будут отображаться в режиме Compatibility View и/или отредактировать уже существующий список. Это особенно удобно, когда сайт, работающий в режиме Quirks, блокирует режим Internet Explorer 8 из-за некорректной строки User Agent – вы вправе добавить этот сайт в список Compatibility View.

Но наиболее полный доступ к функции можно получить через групповые политики, а также через IEAK.

Compatibility View и веб-дизайнеры

Если вы создаете страницы по принятым в Интернете стандартам, используя директиву DOCTYPE для указания режима визуализации, Internet Explorer будет вести себя так, как и должен – Quirks DOCTYPE для режима Quirks, Standards DOCTYPE – для режима стандартов IE8. И как в случае с Beta 1, можно отключить режим IE8 Standards через <META> tag / HTTP header.

Но для обеспечения максимального удобства пользователей при просмотре созданных веб-страниц и чтобы избежать использования функции Compatibility View следует проверить страницу при помощи Internet Explorer 8, а при необходимости и обновить ее. Когда при просмотре веб-сайта пользователь нажимает кнопку Compatibility View, можно переключить страницу в предпочтительный режим отображения, указав версию через тэг <META> tag / HTTP header. Новое значение – ‘IE=EmulateIE8’ – расширяет список поддерживаемых значений и помогает в данном конкретном сценарии.

Значение тега Описание
IE=EmulateIE8 Отображает Standards DOCTYPEs в режиме IE8 Standards Mode; отображает Quirks DOCTYPEs в режиме Quirks Mode. Используйте этот тэг, чтобы отменить режим совместимости на клиентских машинах и принудительно включить режим IE8 Standards.

Наличие <META> tag / header служит указанием того, что сайт был обновлен для обеспечения совместимости с IE8 и его использование предпочтительнее чем режим Compatibility View. Но наличие поля tag / header имеет несколько побочных эффектов. У кого-то его присутствие может вызвать очистку списка сайтов, которые отображаются в режиме совместимости (аналогичное происходит при очистке истории посещения веб-страниц). У других присутствие tag / header может привести к исчезновению иконки Compatibility View, что, в свою очередь, не позволит добавить конкретный сайт в список сайтов, отображаемых при помощи функции Compatibility View.

А новый тэг в строке User Agent позволяет отслеживать факты просмотра вашего сайта в режиме Compatibility View. Этот тэг присутствует и в обычной UA-строке Internet Explorer 8.

· Строка в режиме Compatibility View:

User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Trident/4.0; SLCC1; Media Center PC 5.0; .NET CLR 3.5.21022)

· Строка UA в IE8:

User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; SLCC1; Media Center PC 5.0; .NET CLR 3.5.21022)

Список изменений завершает усовершенствованная панель Developer Toolbar. Новый режим «Browser Mode» позволяет изменять поведение Internet Explorer при сообщении своей версии серверам и сайтам. Это позволит использовать Internet Explorer 8 для того, чтобы просмотреть, как ваш сайт будет выглядеть в IE8 (по умолчанию), в IE7 и в IE8 с активным режимом Compatibility View.

clip_image010

Меню «Document Mode» существует отдельно от «Browser Mode», что позволяет увидеть, как бы выглядел сайт при смене режима визуализации с помощью другого DOCTYPE или тэга <META>.

Мы, со своей стороны, считаем, что функция Compatibility View является значительным улучшением по сравнением с функцией Emulate IE7, дебютировавшей в IE8 Beta 1. Если вы столкнулись с проблемами на веб-сайте, которые функция Compatibility View решить не смогла, просим вас сообщать нам об этом через специальную утилиту.

Скотт Дикенс (Scott Dickens)

ведущий программный менеджер Internet Explorer