IE: почему видимость совместимости исчезает для некоторых сайтов?

25

IE9 отображает кнопку режима совместимости для некоторых веб-сайтов, но не для других. Для остальных я все еще могу включить его, добавив его через «Инструменты»> «Параметры представления совместимости», и тогда он будет вести себя как положено.

введите описание изображения здесь

Почему эта кнопка не появляется всегда? Есть ли способ отменить это?

tsilb
источник

Ответы:

26

Наличие кнопки зависит от этого типа метатега:

<meta http-equiv="X-UA-Compatible" content="IE=edge">

Режимы совместимости документов

В последних версиях Internet Explorer эти режимы могут управлять функциями, которые поддерживаются веб-страницами, и способами отображения страниц.

  • IE=EmulateIE8 mode сообщает Internet Explorer использовать директиву для определения способа отображения содержимого. Директивы режима стандартов отображаются в стандартном режиме Internet Explorer 8, а директивы режима причуд отображаются в режиме IE5. В отличие от режима IE8, режим эмуляции IE8 соответствует директиве.

  • IE=EmulateIE7говорит Internet Explorer использовать директиву для определения способа отображения содержимого. Директивы режима стандартов отображаются в стандартном режиме Internet Explorer 7, а директивы режима причуд отображаются в режиме IE5. В отличие от режима IE7, режим эмуляции IE7 соответствует директиве. Для многих веб-сайтов это предпочтительный режим совместимости:

  • IE=5 отображает контент, как если бы он отображался в режиме причуд Internet Explorer 7, который очень похож на способ отображения контента в Internet Explorer 5.

  • IE=7 отображает контент, как если бы он отображался в стандартном режиме Internet Explorer 7, независимо от того, содержит ли страница директиву.

  • IE=8 поддерживает многие установленные стандарты, в том числе спецификацию каскадных таблиц стилей W3C уровня 2.1 и API селекторов W3C; он также обеспечивает ограниченную поддержку спецификации уровня 3 каскадных таблиц стилей W3C (рабочий проект) и других новых стандартов.

  • IE=9 обеспечивает наивысшую доступную поддержку для существующих и развивающихся отраслевых стандартов, включая HTML5 (рабочий проект), спецификацию каскадных стилей W3C уровня 3 (рабочий проект), спецификацию масштабируемой векторной графики (SVG) 1.0 и другие.

  • IE=Edge говорит Internet Explorer отображать контент в самом высоком доступном режиме. В Internet Explorer 8 это эквивалентно режиму IE8.

Если (гипотетический) будущий выпуск Internet Explorer поддерживает режим с более высокой совместимостью, то страницы, переведенные в граничный режим, будут отображаться в самом высоком режиме, поддерживаемом этой версией. Те же самые страницы будут отображаться в режиме IE8 при просмотре в Internet Explorer 8; и в режиме IE9 при просмотре с помощью Internet Explorer 9.

Резюме

IE не будет отображать кнопку Compatibility View, если либо:

  • содержимое метатега соответствует используемой вами версии IE; или
  • содержимое метатега установлено в IE=edge.

Ссылка

Определение совместимости документов (Internet Explorer)

SgtOJ
источник
2
Для чего, однако, можно было ожидать, что веб-сайты будут отображаться очень хорошо, если предположить, что создатель веб-сайта задумался над тегом ...
Arjan
8

Помимо <meta>тега, как объяснено в ответе Брайана :

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

Отключение этого параметра «Отображать сайты интрасети в представлении совместимости» приводит к тому, что кнопка отображается и для локальных сайтов, поэтому ее можно отключить. Помните, что настройки просмотра совместимости перечислены только в «полном» меню (нажмите Alt-T), а не в сокращенном значке шестеренки:

альтернативный текст альтернативный текст альтернативный текст

Или же заставьте IE больше не распознавать сайты интрасети .

Арьян
источник
2
Это связано с тем, что интранет-сайты и внутренние веб-приложения многих компаний были запрограммированы для работы на IE6. Microsoft знала, что большинство пользователей IE6 были сотрудники, вынужденные использовать IE6. Перевод всех сайтов в режим совместимости по умолчанию сделал плавный, но не плавный переход на обновленную версию IE. Если бы многие компании были как [отредактированы], то это было бы так. Вы должны помнить, что изменения стоят денег. Компании заботятся только о деньгах. Отредактируйте название компании, чтобы защитить их . Эта компания даже не переключалась на версию обновления, пока не появился взлом Google / China.
SgtOJ
@ Брайан, наверное, ты прав. Жаль, хотя: гораздо лучшим решением было бы активировать его по умолчанию. Это глупое предпочтение IE не только активирует режим совместимости, но и скрывает кнопку совместимости.
Арьян
Вау. Никогда не знал об этом. Весь день сводил меня с ума, пока я не наткнулся на твой пост. Благодарность!
Система
Что произойдет, если вы не хотите режим совместимости, но установлен флажок «Отображать сайты интрасети в режиме совместимости»? Это переопределяет <meta http-equiv="X-UA-Compatible" content="IE=edge">тег? Или метатег отменяет флажок параметра совместимости?
Бен
@Ben, я давно не пользовался IE, но думаю, что включение «Отображение сайтов интрасети в режиме совместимости» действительно отменит <meta http-equiv="X-UA-Compatible" content="IE=edge">. Я не 100% уверен, но я помню , что очень раздражает не не понимая , почему страницы показывали плохо, поэтому я могу только предположить , что эти страницы действительно включают метку времени. Но тогда, может быть, я не знал об этом теге в те дни ...
Арьян
1

В соответствии с этой всеобъемлющей статьей MSDN о представлении совместимости в следующем списке описаны различные способы включения представления совместимости:

  • Вы нажимаете кнопку «Представление совместимости» в адресной строке при просмотре веб-страницы. При отображении эта кнопка появляется слева от кнопки Обновить и содержит изображение сломанного куска бумаги. Это позволяет просматривать совместимость для всех документов в домене просматриваемого веб-сайта.
  • Параметр «Отображать все веб-сайты в режиме совместимости» в настройках представления совместимости включен.
  • Параметр «Автоматическое восстановление после ошибок макета страницы с представлением совместимости» включен, и веб-страница перестает отвечать на запросы или вызывает сбой браузера. Когда это происходит, Internet Explorer открывает страницу в представлении совместимости после устранения проблемы.
  • Групповые политики, определяющие сайты, которые должны открываться в представлении совместимости, включены администратором вашего компьютера.
  • Вы использовали инструменты разработчика F12 для изменения режима браузера, чтобы идентифицировать Internet Explorer как более раннюю версию браузера.
  • Включен список просмотра совместимости, который определяет список веб-сайтов, которые автоматически отображаются в представлении совместимости.

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

Список совместимости - это XML-файл, поддерживаемый Microsoft.

Чтобы удалить ваш сайт из списка просмотра в режиме совместимости (или оспорить удаление вашего сайта из списка), попросите владельца всего сайта убедиться, что сайт домена отображается в списке просмотра в режиме совместимости. Если это так, отправьте электронное письмо по адресу iepo@microsoft.com, содержащее следующую информацию:

Имя владельца Фирменное наименование Название компании Уличный адрес Адрес электронной почты Номер телефона Адрес сайта

Microsoft рассмотрит предоставленную информацию и удалит ваш сайт из списка совместимости при следующем запланированном обновлении.

mvark
источник
0

Я просто потратил некоторое время, пытаясь определить, почему значок представления совместимости недоступен ни на одном из доменов моей компании, когда он не соответствует ни одному из условий, описанных в других ответах на этот вопрос.

Это объясняется тем, что «X-UA-Compatible» не обязательно должен быть метатегом. Он также может быть указан как заголовок HTTP (не является частью содержимого HTML), и это относится к домену, с которым у меня возникают проблемы.

Эта страница MS содержит более подробную информацию, многие из которых приведены в ответе SgtOJ: http://msdn.microsoft.com/en-us/library/jj676915(v=vs.85).aspx

Скотт Лейс
источник