9 ответов
Убедитесь, что:
Это первый тег на вашей странице, иначе IE может его не уважать.
В качестве альтернативы проблема может заключаться в том, что IE использует Enterprise Mode для этого веб-сайта:
Эта проблема обычно вызвана тем, что URL-адрес веб-сайта/интрасети размещен в одном из:
В корпоративных сетях эти параметры просмотра совместимости часто контролируются централизованно с помощью групповой политики. В вашем случае причиной этого является корпоративный режим.
К сожалению, установка 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. Причины использования устаревших версий могут быть совершенно разные.
Сама компания 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 определяет не только браузер, но также поисковых пауков и сетевых роботов. Список возможных значений User-Agent и разбор строки можно посмотреть на сайте http://www.useragentstring.com . В табл. 1.1 приведены значения User-Agent при выборе разных режимов IE.
Режим браузера | 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).
Значение | Описание |
---|---|
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 9 - не исключение, но в этом варианте браузера производители предусмотрели возможность переключения просмотра страниц в режим совместимости с предыдущими версиями.
Когда вы разрабатываете сайт, нужно проверять его на совместимость с разными версиями Internet Explorer. С другой стороны, можно просто попасть на страницу, несовместимую с новейшей версией браузера Microsoft. В таких случаях вам поможет режим совместимости Internet Explorer 9.
Если вы попали на страницу, которая отображается некорректно, то первым делом попробуйте включить режим совместимости (чаще всего это помогает, пример на рисунке 1).
Рисунок 1 - Сайт, не совместимый с Internet Explorer 9 (слева стандартный просмотр, справа - в режиме совместимости)
Когда вы заходите на сайт, который явно не указывает на то, что он совместим с Internet Explorer 9, то в адресной строке появляется кнопка . Нажмите на эту кнопку для включения режима совместимости (страница после нажатия на эту кнопку обновится). Для отключения режима совместимости нажмите эту кнопку повторно. После этого сайт всегда будет отображаться в режиме совместимости, а кнопка будет вот такой .
Если разработчики сайта обновят сайт и явно укажут на совместимость сайта с Internet Explorer 9, то режим совместимости автоматически отключится. Для просмотра параметров режима совместимости нажмите
Рисунок 2 - Параметры режима представления совместимости
Для добавления сайта в список введите URL сайта в строку Добавить этот веб-узел и нажмите Добавить . Если вы хотите всегда работать в режиме совместимости (например, вы работаете только в локальной сети, где веб-узлы разрабатывались в расчете на восьмую или седьмую версию IE), то поставьте флажок в пункт Отображать все веб-узлы в режиме представления совместимости . В параметре Отображать узлы интрасети в режиме представления совместимости по умолчанию стоит флажок, он указывает браузеру открывать сайты предприятия в режиме совместимости с IE7.
Если вы хотите включить режим совместимости не под восьмую версию браузера, то нажмите
Рисунок 3 - Панель разработчика
Выберите Режим документов и в раскрывающем списке выберите нужную версию браузера. Для того чтоб браузер опознавался на сайтах как другая версия нажмите Режим браузера и выберите нужную версию.
Команда разработчиков Internet Explorer 9 пообещала, что пользователи IE смогут просматривать весь интернет. По-моему, у них это получилось.