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

Источник: thevista

В самом начале проекта 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 в режиме стандартов
  • Переключение между обычным режимом и режимом совместимости (между режимами IE7 и IE8) происходит на лету без необходимости перезапуска браузера.

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

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

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

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

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

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

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

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

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

Можно настроить, чтобы все интранет-сайты отображались в режиме 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" - расширяет список поддерживаемых значений и помогает в данном конкретном сценарии.

Наличие <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.

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

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


Страница сайта http://test.interface.ru
Оригинал находится по адресу http://test.interface.ru/home.asp?artId=23001