[html] Принудительный режим браузера Internet Explorer 8 в интрасети



Answers

Можно переопределить режим совместимости в интрасети. Просто добавьте приведенный ниже код в web.config. Работал для меня с IE9.

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

Question

В IE8 есть «Internet Explorer 8», «Режим совместимости Internet Explorer 8» и IE7.

Однако по умолчанию в IE все веб-сайты интрасети используют «Режим совместимости IE8», даже если я установил doctype, метатег, http-заголовок, как предполагалось, чтобы заставить его работать в режиме IE8.

у меня есть

<! DOCTYPE HTML PUBLIC "- // W3C // DTD HTML 4.01 Transitional // EN" " http://www.w3.org/TR/html4/loose.dtd ">

а также

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

Но он по-прежнему входит в «Режим совместимости IE8», без каких-либо изменений в настройке IE.

Как заставить его в чистом режиме «IE8» без изменения настроек браузера?

PS. Я не говорю «режим документа» здесь.




Для того, чтобы объявление META работало, doctype должен быть упрощенной версией:

<!DOCTYPE html>

Не более длинное заявление в вопросе Денниса.




Я нашел ответы здесь трудными для подражания, так что вот важная информация в двух словах:

Если ваша интрасеть использует настройки по умолчанию для IE, режим IE7 Standard Mode применяется для сайтов интрасети, независимо от настроек веб-сайта.

Из this :

Просмотр совместимости и Enterprise

Сегодня большое количество веб-сайтов для работы в Интернете - это Internet Explorer 7. Чтобы сохранить совместимость, Internet Explorer 8 поставляется с интеллектуальными стандартами по умолчанию на основе оценки зоны. В состоянии по умолчанию все сайты общего интернет-дисплея в режиме Internet Explorer 8 Standard (режим совместимости) и все веб-сайты интрасети отображаются в режиме Internet Explorer 7 Standard ( режим совместимости).

Давайте посмотрим на некоторые примеры. Если вы переходите на сайты в локальной интрасети, такие как http: // myPortal и http://sharepoint/sites/mySite , Internet Explorer 8 идентифицирует себя со строкой User Agent из 7, Vector Vector '7' и отображает веб-страницы, которые запускают режим стандартов в режиме Internet Explorer 7 Standard. Эта комбинация позволяет веб-страницам, которые правильно работали в Internet Explorer 7, продолжать делать это в IE8.




Установите пользовательский HTTP-заголовок вместо использования <meta... в разделе <head> . Предполагается, что они эквивалентны, но я видел, что HTTP-заголовок, X-UA-Compatible с X-UA-Compatible с сервера будет переопределять IE 8 «Показывать сайты интрасети в режиме совместимости», где элемент <meta... не будет.




Читайте где-нибудь, что декларация DOCTYPE должна быть самой первой строкой . Никаких комментариев, никаких пустых строк.

В сочетании с настройкой заголовков HTTP-ответов это сработало для меня. Browser Mode перешел из «Режим совместимости IE9» только в «Режим IE9».




Вам необходимо удалить номер порта с сайта сайта вашего домена: 1180 / index /

Если браузер видит номер порта в url-hi «think», это интранет.

настройте свой DNS-сервер для дружественных URL-адресов - site.com/index, и он работает нормально




Links