Почему IE9 переключается на режим совместимости на моем сайте?
-
03-10-2019 - |
Вопрос
Я только что установил IE9 Beta и на определенном сайте, который я создал (HTML5) IE9, переходит к режиму совместимости, если я не буду вручную не рассказывать о нем. Я пытался удалить несколько частей сайта, но без изменений. Включение удаления всех CSS включает в себя. На каком-то другом веб-сайте мне все идет нормально.
Кроме того, не устанавливайте его вручную, потому что тогда IE9 запоминает настройку пользователя, и вы не можете вернуть его обратно в автоматическую (или, по крайней мере, я не нашел, даже через частное просмотр и опорожнение кэш)
В любом случае. Сайт, где он переходит в режим совместимости: http://alliancesatwar.com/guide/
Тот, где он делает правильно: http://geuze.name/dbasement/ (Я не могу публиковать более 1 гиперссылки)
Оба используют то же самое doctype
и все. Эти сайты имеют много общего (помимо внешнего вида), используя тот же базовый шаблон (кодирование, мета теги, дочисника и тот же JavaScript)
Было бы здорово, если у кого-то есть ответ для меня! Веб-сайт HTML5, который отображается в режиме IE7, довольно ... хромой.
Решение
Работает в IE9 DocumentMode для меня.
Без X-UA-Compatible
Заголовок / мета Чтобы установить явную документацию Mode, вы получите режим на основе:
- Нажал ли пользователь на кнопке «Просмотр совместимости» в этом домене;
- Возможно, также, произошло ли это автоматически из-за некоторого другого контента на сайте, вызывающем визуализатор IE8 / 9, чтобы сбиться и упасть обратно в старый рендер;
- Если пользователь выбрал пользователь, по умолчанию установил все сайты в виде совместимости;
- Может ли IE думает, что сайт находится на вашей интрасете, и поэтому по умолчанию относится к представлению совместимости;
- Будет ли рассматриваемый сайт в собственном списке сайтов Microsoft, которые требуют представления совместимости.
Вы можете изменить эти настройки из «Инструменты -> Обзор совместимости» из меню IE. Конечно, это меню теперь скрыто скрыто, поэтому вы не увидите его, пока вы не нажмете Alt.
В качестве автора сайта, если вы уверены, что ваш сайт соответствует стандартам (хорошо рендурирует в других браузерах, и использует функции нюхает для решения того, какие браузеры используются для использования), я предлагаю использовать:
<meta http-equiv="X-UA-Compatible" content="IE=Edge"/>
или заголовок HTTP:
X-UA-Compatible: IE=Edge
Чтобы получить последнюю версию Renderer, то есть версия IE используется.
Другие советы
я кладу
<meta http-equiv="X-UA-Compatible" content="IE=Edge"/>
Первое, что после этого
<head>
(Я читаю это где-то, я не могу вспомнить)
Я не мог поверить, что это работает !!
Чтобы заставить IE для рендеринга в режиме IE9 стандартов, вы должны использовать
<meta http-equiv="X-UA-Compatible" content="IE=edge">
Некоторые условия могут вызывать IE9, чтобы перейти в режимы совместимости. По умолчанию это может произойти на сайтах интрасети.
Я опубликовал этот комментарий на отдельной резьбе стоковой стойки, но думал, что стоит повторять здесь:
Для нашего приложения ASP.NET ASP.NET добавив тег «X-UA-совместимый» на веб-странице, в Web.config или в кодовом виде сделан абсолютно никакой разницы.
То Только вещь, которая работала для нас, было вручную отключить эту настройку в IE8:
(Вздох.)
Эта проблема, кажется, происходит только с IE8 и IE9 на сайтах интрасети. Внешние веб-сайты будут работать нормально и использовать правильную версию IE8 / 9, но для внутренних веб-сайтов IE9 вдруг решает, что это на самом деле IE7, и не имеет поддержки HTML 5.
Нет, я тоже не совсем понимаю эту логику.
Мое неохотно решение было тестовое задание Есть ли браузер HTML-5 поддержки (создавая Canvas, и тестирование, если это действительно), и отображает это сообщение для пользователя, если он недействителен:
Это не особенно удобно для пользователя, но позволяет пользователю выключить эту раздражающую настройку, по-видимому, является единственным способом для правильной работы веб-приложений HTML 5 HTML 5.
Или заставить пользователей использовать Chrome. ;-)
Сайт http://www.html-5.com/index.html. У Meta Meta The Meta Meta, но все еще находится в представлении совместимости, как указано значок «Разорванная страница» в адресной строке. Как вы получаете возможность меню, чтобы заставить IE 9 (окончательная версия 9.0.8112.16421) для рендеринга страницы в режиме стандартов? Я попытался щелкнуть правильно, щелкнув значок «Разорванная страница», а также «Alt» Key Trick, чтобы отобразить дополнительные параметры меню, упомянутых Rene Geuze, но те не работали.
Как в сторону на более современных веб-сайтах, если вы используете условные операторы в вашем HTML-теге согласно котельной, это будет по какой-то причине причина IE9 по умолчанию для режима совместимости. Исправление здесь состоит в том, чтобы переместить ваши условные операторы с тега HTML и добавьте их в тег в тему, другими словами из заголовка. Таким образом, вы все еще можете использовать эти классы в вашем стиле, чтобы нацелиться на более старые браузеры.
Выглядит хорошо для меня:
Вы уверены, что вы не настроили на настройках по всему миру или что-то? Это чистая установка бета-версии на Windows 7. Сообщить об инструментах разработчика, чтобы страница по умолчанию по умолчанию для стандартного режима IE9.
Я недавно должен был решить эту проблему, и вот что я сделал:
Прежде всего, это решение вокруг тюнинга Apache Server.
Второе главное считает, что в IE9 есть ошибка, что означает, что мета-тег не будет работать, вместо этого решения попробуйте это
- Найти / Открыть свой httpd.conf
воспоминание / или добавьте следующую строку
LoadModule headers_module modules/mod_headers.so
Добавьте следующие строки
<IfModule headers_module> Header set X-UA-Compatible: IE=EmulateIE8 </IfModule>
Сохранить / перезапустить свой сервер Apache,
- Просмотрите свою страницу с IE9, используйте инструменты, как Wireshark или соревнование или используйте инструменты разработчика для проверки заголовка