Почему IE9 переключается в режим совместимости на моем сайте? - PullRequest
197 голосов
/ 16 сентября 2010

Я только что установил бета-версию IE9, и на созданном мной конкретном сайте (HTML5) IE9 переходит в режим совместимости, если я вручную не советую этого делать.Я попытался удалить несколько частей сайта, но без изменений.В том числе удаление всех включений CSS.На каком-то другом моем веб-сайте все идет хорошо.

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

Во всяком случае.Сайт, на котором он переходит в режим совместимости: http://alliancesatwar.com/guide/
Сайт, на котором правильно отображается: http://geuze.name/basement/ (я не могу опубликовать более 1 гиперссылки)

Оба используют один и тот же doctype и все.Эти сайты имеют много общего (помимо внешнего вида), используя один и тот же базовый шаблон (кодировка, мета-теги, тип документа и тот же javascript)

Было бы здорово, если у меня есть ответ для меня!Веб-сайт HTML5, который отображается в режиме IE7, довольно ... хромой.

Ответы [ 8 ]

262 голосов
/ 16 сентября 2010

Работает в IE9 documentMode для меня.

Без X-UA-Compatible заголовка / мета для установки явного DocumentMode вы получите режим, основанный на:

  • нажал ли пользователь кнопку «Просмотр совместимости» в этом домене;
  • возможно также, произошло ли это автоматически из-за какого-то другого содержимого на сайте, что привело к аварийному завершению рендерера IE8 / 9 и откату к старому рендереру;
  • по умолчанию выбрал ли пользователь все сайты в режиме совместимости;
  • считает ли IE, что сайт находится в вашей интрасети, и по умолчанию использует представление совместимости;
  • входит ли данный сайт в собственный список веб-сайтов Microsoft, для которых требуется совместимость.

Вы можете изменить эти настройки в меню «Инструменты -> Настройки просмотра совместимости» в меню IE. Конечно, это меню теперь скрытно скрыто, поэтому вы не увидите его, пока не нажмете Alt.

Как автор сайта, если вы уверены, что ваш сайт соответствует стандартам (хорошо воспроизводится в других браузерах и использует анализ функций, чтобы решить, какие обходные пути для браузера использовать), я предлагаю использовать:

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

или заголовок HTTP:

X-UA-Compatible: IE=Edge

, чтобы получить последнюю версию рендерера независимо от используемой версии IE.

33 голосов
/ 17 марта 2011

ставлю

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

первым делом после

<head>

(я где-то читал, не помню)

Я не мог поверить, что это сработало !!

22 голосов
/ 16 сентября 2010

Чтобы заставить IE отображать в стандартном режиме IE9, вы должны использовать

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

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

6 голосов
/ 13 февраля 2014

Я разместил этот комментарий в отдельной ветке StackOverflow, но подумал, что стоит повторить здесь:

Для нашего собственного приложения ASP.Net добавление тега «X-UA-Compatible» навеб-страница, в файле web.config или в выделенном фрагменте кода не имела абсолютно никакого значения.

Единственное, что нам помогло * , - это ручное отключение этого параметра в IE8:

enter image description here

(вздох).

Эта проблема, по-видимому, возникает только с IE8 и IE9 на сайтах интрасети.Внешние веб-сайты будут работать нормально и использовать правильную версию IE8 / 9, но для внутренних веб-сайтов IE9 внезапно решит, что это на самом деле IE7, и не имеет поддержки HTML 5.

Нет, я не совсемпонять эту логику либо.

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

enter image description here

Это не особенно удобно для пользователя, но, кажется, заставить пользователя отключить этот раздражающий параметр - единственный способ позволить ему работать вПравильно размещайте веб-приложения HTML 5.

Или попросите пользователей использовать Chrome.; -)

1 голос
/ 25 февраля 2015

В качестве отступления на более современных веб-сайтах, если вы используете условные операторы в своем HTML-теге согласно шаблону, это по какой-то причине приведет к тому, что ie9 по умолчанию перейдет в режим совместимости.Исправление здесь состоит в том, чтобы убрать ваши условные выражения из тега html и добавить их в тег body, другими словами, из раздела head.Таким образом, вы все еще можете использовать эти классы в своей таблице стилей для таргетинга на старые браузеры.

1 голос
/ 18 марта 2011

Сайт по адресу http://www.HTML -5.com / index.html имеет метатег X-UA-Compatible, но все равно переходит в представление совместимости, как указано значком «порванная страница» наАдресная строка.Как получить параметр меню, чтобы заставить IE 9 (финальная версия 9.0.8112.16421) отображать страницу в режиме стандартов?Я попытался щелкнуть правой кнопкой мыши по этой порванной иконке страницы, а также по нажатию клавиши «Alt», чтобы отобразить дополнительные пункты меню, упомянутые Рене Гойце, но они не сработали.

0 голосов
/ 30 ноября 2012

Мне недавно пришлось решить эту проблему, и вот что я сделал:

Прежде всего, это решение заключается в настройке сервера Apache.

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

  • найти / открыть ваш httpd.conf
  • раскомментировать / или добавить следующую строку

    LoadModule headers_module modules/mod_headers.so
    
  • добавьте следующие строки

    <IfModule headers_module>
        Header set X-UA-Compatible: IE=EmulateIE8
    </IfModule>
    
  • сохраните / перезапустите сервер Apache,

  • просмотритена свою страницу с IE9, используйте такие инструменты, как wireshark или fiddler или используйте инструменты разработчика IE, чтобы проверить, есть ли заголовок
0 голосов
/ 16 сентября 2010

выглядит хорошо для меня:

alt text

Вы уверены, что не сделали глобальные настройки или что-то в этом роде? Это чистая установка бета-версии на Windows 7. Инструменты разработчика сообщают, что на странице по умолчанию установлен стандартный режим IE9.

...