Почему IE9 открывается в режиме документа как стандарты IE7?


когда я открываю веб-страницу в IE9 с DOCTYPE как

<!DOCTYPE html>

Он открывает режим документа как стандарты IE7.

Мне нужны стандарты IE9 по умолчанию при открытии страницы.

Как исправить эту проблему режиме документ?

скриншот того, как это происходит в IE browser developer tool

7 67

7 ответов:

попробуйте этот ответ:https://stackoverflow.com/a/13524518/1679310.

резюме, дайте браузеру IE дополнительную информацию в метатеге:

<!DOCTYPE html>
<html>
  <head>
    <title>My Web</title>
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />

Edit Примечание: как упоминал Олли Ходжсон, правильным вариантом является IE=edge, как указано в приведенном выше фрагменте кода. Ниже приведена оригинальная, также рабочая версия:

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

может быть несколько причин, по которым он может анализировать документ в соответствии со стандартом IE7:

  1. сервер посылает X-UA-Compatible заголовок для IE7 в HTTP-ответе документа. Проверьте заголовки ответов сервера с помощью такого инструмента, как Саша.
  2. HTML-документ устанавливает метатег с X-UA-Compatible значение свойства для IE7.
  3. страница обнаруживается автоматически IE для открытия в"представлении совместимости". Обратите внимание, что по умолчанию все сайты интрасети просматриваются в "режим совместимости" в IE. Снимите флажок "Отображать сайты интрасети в режиме совместимости" в разделе Tools -> Compatibility view settings в IE. "Отображать все веб-сайты в режиме совместимости" также следует снять флажок.
  4. вы использовали инструменты разработчика и явно настроили просмотр страницы для рендеринга в режиме" стандарты IE7". Обратите внимание, что это будет происходить только на каждого клиента, хотя.

обновление 2016-01-28
Как @Гордон как указано в комментариях ниже, другая причина может заключаться в том, что администратор сети установил сайт для просмотра совместимости в качестве групповой политики в сети.
Единственным решением в этом случае является обращение к администратору сети для удаления сайта из групповой политики. Смотрите HTML1203 здесь.

вы можете установить это в интернете.конфигурация также.

<system.webServer>
    <httpProtocol>
        <customHeaders>
            <clear />
            <add name="X-UA-Compatible" value="IE=edge" />
        </customHeaders>
    </httpProtocol>

содержит ли ваша страница метатег для форсирования IE7?

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

это заставит страницу использовать совместимость с IE7.

просто хотел поделиться, что если ваш веб-сервер Apache2 вы можете установить заголовок ответа, как показано ниже в конфигурации VirtualHost, который также решит проблему.

Header set X-UA-Compatible "IE=edge"

проблема, по-видимому, связана с сочетанием IE9 и режима совместимости. Для нас мы не можем отключить режим совместимости, так как это сайт SharePoint 2013, и IE11 должен работать в режиме совместимости для редактирования страниц, но IE9 вел себя так, как вы показываете. Установка X-UA-совместимого с "IE=edge" в метатеге исправила нашу проблему, хотя установка значения IE=10 не повлияла на наше поведение. У нас также есть тот же самый доктип.

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

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

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