Сайт о телевидении

Сайт о телевидении

» » Режим представления совместимости. Режимы Internet Explorer

Режим представления совместимости. Режимы Internet Explorer

9 ответов

Убедитесь, что:

Это первый тег на вашей странице, иначе IE может его не уважать.

В качестве альтернативы проблема может заключаться в том, что IE использует Enterprise Mode для этого веб-сайта:

Эта проблема обычно вызвана тем, что URL-адрес веб-сайта/интрасети размещен в одном из:

  • Список режимов совместимости
  • Интранет-зона Internet Explorer
    (с включенным отображением сайтов интрасети в режиме просмотра совместимости)
  • Список режимов предприятия

В корпоративных сетях эти параметры просмотра совместимости часто контролируются централизованно с помощью групповой политики. В вашем случае причиной этого является корпоративный режим.

К сожалению, установка META X-UA-Compatible не будет переопределять .

Для конечных пользователей

Иногда единственный способ для конечных пользователей переопределить это - нажать F12 и изменить режим документа под вкладкой эмуляции. Однако этот параметр не является постоянным и может вернуться после закрытия инструментов разработчика.

Вы также можете попытаться исключить свой сайт из зоны интрасети. Но список доменов, входящих в зону Интрасети, обычно также контролируется групповой политикой, поэтому вероятность этой работы тонкая.

Чтобы просмотреть список доменов, входящих в зону интрасети, перейдите по ссылке:

Инструменты → Свойства обозревателя → Безопасность → Сайты → Дополнительно

Если список содержит ваш поддомен и неактивен, вы не сможете переопределить представление совместимости до тех пор, пока его сетевой администратор не допустит его.

Вам действительно нужно связаться с вашим сетевым администратором, чтобы разрешить изменение параметров представления совместимости в групповой политике.

Для сетевых админов

Все 3 упомянутые выше настройки обычно контролируются групповой политикой, хотя иногда они могут быть переопределены на пользовательских машинах.

Если Enterprise Mode является проблемой (как представляется, это относится к оригинальному плакату), могут оказаться полезными следующие две статьи:

Для тех, кто создает проект ASP.NET MVC, убедитесь, что вы добавили:

на странице "Макет" (шаблон). Я просто потратил два часа на отладку и настройку, только чтобы понять, что я только добавил этот метатег на свои дочерние страницы. Как только я добавил его на мою страницу макета, браузер загрузился в режим EDGE.

Это старая проблема с некоторой хорошей информацией. Но я только что нашел, что использование FQDN отключает режим совместимости в IE 9-11. Пример. У меня проблема совместимости с
http://lrmstst01:8080/JavaWeb/login.do
но проблемы уходят с
http://lrmstst01.mydomain.int:8080/JavaWeb/login.do
NB:.int является частью нашего внутреннего домена

Отмеченный ответ правильный. Тем не менее, Pricey, вы должны следить за этим с помощью групп администрирования AD и рабочего стола. Они неправильно используют список сайтов в режиме IE11 Enterprise Mode. Microsoft НЕ намерена использовать его для всех сайтов интрасети внутри организации. Это будет распространять существующие настройки "сделать все интранет-сайты в режиме совместимости", что является бичем продвижения корпоративного сайта во всем мире.

Он предназначен для реализации как "черный список", с несколькими сайтами, которые на самом деле требуют устаревшего режима браузера, указанного в списке "Режим предприятия" с указанными требованиями к их рендерингу. Затем все другие сайты в вашей организации освобождаются от использования Edge. Люди в вашей организации, которые внедрили его со всеми интрасети, включились для начала, полностью не поняли, как должен реализовываться Enterprise Mode.

Добавьте свойство below в файл web.config для сайтов IIS. Это работало для меня в моей интрасети в IE11.

Вопрос немного стар, но я решил очень похожую проблему. У нас есть несколько сайтов интрасети, в том числе тот, за который я несу ответственность, а другие требуют режима совместимости или они ломаются. По этой причине сайт правил IE по умолчанию поддерживает режим совместимости на сайтах интрасети. Я обновляю свои вещи и больше не нуждаюсь в нем; на самом деле некоторые из функций, которые я пытаюсь использовать, не выглядят правильно в режиме совместимости. Я использую метатег IE-Edge, как вы.

Вокруг Internet Explorer сложилась ситуация, которая больше не прослеживается ни с одним другим браузером - разброс версий начинается с 6.0 и заканчивается 9.0. Причины использования устаревших версий могут быть совершенно разные.

  • Internet Explorer встроен в операционную систему Windows и неопытные пользователи даже не подозревают о наличии альтернативы.
  • Корпоративные пользователи с ограниченным доступом не могут самостоятельно обновить версию или сменить браузер.
  • Обновление IE до новой версии происходит через систему Windows Update, которая часто отключается по требованиям безопасности или для снижения интернет-трафика.
  • Некоторые приложения, например, банковские, могут быть «заточены» для работы только под конкретную версию IE.
  • В силу инерции мышления, когда пользователю нравится та программа, с которой он привык работать.

Сама компания Microsoft всячески поощряет переход на новые версии Internet Explorer и в 2010 году прекратила поддержку IE6 и IE7.

Что касается разработчиков сайтов, то для них такой большой набор версий является настоящей проблемой. Каждая версия IE содержит свои уникальные ошибки, особенности отображения веб-страниц, а также не поддерживает какие-то свойства CSS. Одним из радикальных вариантов решения проблемы является полный отказ разработчика от поддержки определенных версий IE. Так, некоторые сервисы Google, сайт vkontakte.ru при попытке зайти на них через IE6 выдают предупреждение о том, что вы используете устаревший браузер. С другой стороны, некоторые разработчики интернет-магазинов бьются за каждый браузер, полагая, что даже если каким-то браузером пользуется 2%, то отказ от него приведет к потере 2% клиентов.

Из-за того, что каждая версия IE может отображать сайт по своему, разработчики IE8 оказались перед сложной дилеммой - эта версия настолько отличалась от предыдущей, что при просмотре через IE8 бо́льшая часть сайтов «рассыпалась». В итоге было принято решение добавить режим представления совместимости; для быстрого переключения сайтов в этот режим возле адресной строки добавлена специальная кнопка (рис. 1.6а). В действительности при переключении в этот режим браузер начинал работать как версия 7.0. В IE9 пошли еще дальше и в нём уже можно переключаться на IE8 или IE7 (рис. 1.6б).

Рис. 1.6. Кнопка для переключения в режим совместимости
a - в IE8, б - в IE9

Обилие версий IE усложняется еще тем, что версии браузера могут работать в нескольких режимах, порождая большое количество комбинаций, которые необходимо учитывать разработчику. Начиная с версии 8.0, переключение режимов в браузере делается через Средства разработчика (Сервис > Средства разработчика ), которое проще вызвать при нажатии на клавишу F12 . В этом инструменте доступно два пункта меню связанных с режимами: Режим браузера (рис. 1.7) и Режим документов.

Рис. 1.7. Режимы браузера

Выбор режима браузера определяет следующее:

  • строка User-Agent, которую браузер отправляет на сервер, в Microsoft называется «агент пользователя»;
  • версия для условных комментариев, которую в Microsoft называют «вектор версии»;
  • режим документа.

Агент пользователя представляет собой текстовую строку, отправляемую на сервер для идентификации браузера, его версии и операционной системы. Значение User-Agent определяет не только браузер, но также поисковых пауков и сетевых роботов. Список возможных значений User-Agent и разбор строки можно посмотреть на сайте http://www.useragentstring.com . В табл. 1.1 приведены значения User-Agent при выборе разных режимов IE.

Табл. 1.1. Значения User-Agent
Режим браузера User-Agent Описание
IE7 Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Tablet PC 2.0; .NET4.0C; AskTbPTV2/5.9.1.14019) Серверу отправляются данные, что браузер IE7.
IE8 Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Tablet PC 2.0; .NET4.0C; AskTbPTV2/5.9.1.14019) Серверу отправляются данные, что браузер IE8.
IE9 Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0) Серверу отправляются данные, что браузер IE9.
Режим совместимости IE9 Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Tablet PC 2.0; .NET4.0C; AskTbPTV2/5.9.1.14019) Серверу отправляются данные, что браузер IE7, но значение «Trident/5.0» соответствует IE9.

В вашем случае строка User-Agent может отличаться от приведенных в таблице, поскольку она зависит от версии Windows и её параметров.

Вектор версии позволяет с помощью условных комментариев определять версию IE и отдавать для неё отдельный код. Условные комментарии активно применяются в вёрстке для устранения различий в макете между IE и другими браузерами. Подробнее о них пойдёт речь позже, пока же вы можете ознакомиться с небольшим примером, который показывает текст только в IE8. Остальные браузеры игнорируют этот фрагмент, считая его комментарием.

У вас браузер IE8.

Режим документа меняется с помощью меню в Средствах разработчика (рис. 1.8).

Рис. 1.8. Режимы документа

Начиная с версии IE6, имеются следующие режимы (табл. 1.2).

Кроме переключения непосредственно в браузере, задать режим можно через тег , отправив HTTP-заголовок X-UA-Compatible .

Версия может принимать следующие значения (табл. 1.3).

Табл. 1.3. Режимы документа IE
Значение Описание
5 Вынужденное переключение в режим IE5, доктайп при этом игнорируется.
7 Вынужденное переключение в режим IE7, доктайп при этом игнорируется.
8 Вынужденное переключение в режим IE8, доктайп при этом игнорируется.
9 Вынужденное переключение в режим IE9, доктайп при этом игнорируется.
EmulateIE7 При наличии доктайпа переключается в режим IE7, в противном случае в режим совместимости.
EmulateIE8 При наличии доктайпа переключается в режим IE8, в противном случае в режим совместимости.
EmulateIE9 При наличии доктайпа переключается в режим IE9, в противном случае в режим совместимости.
Edge Устанавливает документ в наиболее новый доступный режим. Для версии 8.0 это режим IE8, для версии 9.0 это режим IE9.

К примеру, на сайте Яндекса применяется следующий код для эмуляции режима IE7.

При добавлении данного кода в документ кнопка режима совместимости (рис. 1.6) в браузере исчезает.

Режим совместимости может оказаться полезным при просмотре веб-страниц, созданных для более ранних версий браузера Internet Explorer. Отключение данного режима не требует специальной подготовки или привлечения дополнительного программного обеспечения.

Инструкция

  • При обнаружении браузером Internet Explorer веб-страницы, несовместимой с текущей версией обозревателя, в адресной строке появляется специальная кнопка «Представление совместимости». Чтобы увидеть ее, необходимо вызвать главное системное меню, нажав кнопку «Пуск», и перейти в пункт «Все программы». Запустите приложение Internet Explorer и перейдите на нужную интернет-страницу. Определите текущее состояние режима совместимости - активное состояние режима отображается цветной кнопкой, отключенное - схематической. Для отключения активного состояния режима совместимости, просто нажмите цветную кнопку.
  • Раскройте меню «Сервис» верхней панели инструментов браузера Internet Explorer и укажите пункт «Параметры режима представления совместимости». Снимите флажок в строке «Отобразить все узлы в режиме представления совместимости» в открывшемся диалоговом окне и подтвердите сохранение сделанных изменений, нажав кнопку OK.
  • Альтернативным методом отключения представления страниц в режиме совместимости может служить использование мета-элемента, являющегося одноименным заголовком ответа сервера, X-UA-Compatible, имеющего значение IE=edge:тег meta http-equiv="X-UA-Compatible" content="IE=edge" / тег.Обратите внимание на то, что значение IE=edge принудительно включает последний возможный режим работы браузера, безотносительно к его текущей версии. Таким образом, представление интернет-страниц в режиме совместимости с предыдущими версиями будет отключено программно. В Internet Explorer версии 8 режим edge приведет к отображению страниц только на уровне данной версии, в версии 9 - на следующем уровне. Рекомендуется ограничить использование этого режима тестовыми веб-страницами и другими целями, не имеющими отношения к производству, поскольку результаты неправильного отображения страниц до конца не изучены.
  • Каждое серьезное обновление интернет-обозревателя Internet Explorer вместе с существенным улучшением браузера приводит и к разного рода нестыковкам со стандартами, использовавшимися в версии предыдущей. Internet Explorer 9 - не исключение, но в этом варианте браузера производители предусмотрели возможность переключения просмотра страниц в режим совместимости с предыдущими версиями.

    Вам понадобится

    • Internet Explorer 9.

    Инструкция

  • Запустите Internet Explorer. Если на рабочем столе нет ярлыка этой программы, то откройте главное меню ОС и в поле поискового запроса наберите название приложения. Впрочем, достаточно будет трех букв int, чтобы ссылка на запуск веб-обозревателя появилась в первой строке результатов поиска. Кликните ее.
  • Раскройте в меню браузера раздел «Сервис». Если меню не отображается в окне приложения, нажмите клавишу Alt. Оно появится под заголовком окна. В разделе «Сервис» выберите наиболее сложно сформулированный пункт - «Параметры режима представления совместимости».
  • Поставьте отметку в чекбоксе у надписи «Отображать все веб-узлы в режиме представления совместимости», когда на экране появится окно с настройками этого режима. Таким способом вы включите самый «жесткий» вариант режима совместимости - браузер будет использовать его для всех страниц, даже тех, которые в этом не нуждаются.
  • Если вы поставите отметку в поле «Добавить обновленные списки веб-узлов с веб-узла Майкрософт», режим совместимости будет задействован только для тех сайтов, несовместимость которых с этой версией браузера известна корпорации Microsoft.
  • Вы можете составить и собственный список сайтов, к которым следует применять этот режим, занося в него все встреченные страницы, отображающиеся с искажениями. Делать это можно с помощью поля под надписью «Добавить этот веб-узел» и кнопки «Добавить».
  • Нажмите кнопку «Закрыть» в диалоговом окне, чтобы Internet Explorer начал использовать в работе измененные вами настройки.
  • Есть другая, более простая возможность включить режим совместимости в нужный момент. Когда браузер открывает очередную страницу, он сам пытается оценить ее совместимость. Если для нормального отображения, по его мнению, требуется включение этого режима, в адресной строке появляется пиктограмма со стилизованным изображением разорванной пополам страницы. Щелкните этот значок левой кнопкой мыши, и веб-обозреватель активирует режим совместимости, а также изменит цвета значка с бело-серого на сине-голубой.
  • Когда вы разрабатываете сайт, нужно проверять его на совместимость с разными версиями Internet Explorer. С другой стороны, можно просто попасть на страницу, несовместимую с новейшей версией браузера Microsoft. В таких случаях вам поможет режим совместимости Internet Explorer 9.

    Если вы попали на страницу, которая отображается некорректно, то первым делом попробуйте включить режим совместимости (чаще всего это помогает, пример на рисунке 1).

    Рисунок 1 - Сайт, не совместимый с Internet Explorer 9 (слева стандартный просмотр, справа - в режиме совместимости)

    Когда вы заходите на сайт, который явно не указывает на то, что он совместим с Internet Explorer 9, то в адресной строке появляется кнопка . Нажмите на эту кнопку для включения режима совместимости (страница после нажатия на эту кнопку обновится). Для отключения режима совместимости нажмите эту кнопку повторно. После этого сайт всегда будет отображаться в режиме совместимости, а кнопка будет вот такой .

    Если разработчики сайта обновят сайт и явно укажут на совместимость сайта с Internet Explorer 9, то режим совместимости автоматически отключится. Для просмотра параметров режима совместимости нажмите - меню Сервис - строка Параметры реж има представления совместимости . Если вы захотите удалить какой-то сайт, то выберите сайт в списке Веб-узлы, добавленные к просмотру в режиме Совместимости и нажмите на кнопку Удалить .

    Рисунок 2 - Параметры режима представления совместимости

    Для добавления сайта в список введите URL сайта в строку Добавить этот веб-узел и нажмите Добавить . Если вы хотите всегда работать в режиме совместимости (например, вы работаете только в локальной сети, где веб-узлы разрабатывались в расчете на восьмую или седьмую версию IE), то поставьте флажок в пункт Отображать все веб-узлы в режиме представления совместимости . В параметре Отображать узлы интрасети в режиме представления совместимости по умолчанию стоит флажок, он указывает браузеру открывать сайты предприятия в режиме совместимости с IE7.

    Если вы хотите включить режим совместимости не под восьмую версию браузера, то нажмите , внизу окна появится панель разработчика (рисунок 2).

    Рисунок 3 - Панель разработчика

    Выберите Режим документов и в раскрывающем списке выберите нужную версию браузера. Для того чтоб браузер опознавался на сайтах как другая версия нажмите Режим браузера и выберите нужную версию.

    Команда разработчиков Internet Explorer 9 пообещала, что пользователи IE смогут просматривать весь интернет. По-моему, у них это получилось.