Вопрос

Существуют «Internet Explorer 8», режим совместимости Internet Explorer 8 и режим IE7 в IE8.

Тем не менее, настройка по умолчанию в IE делает все веб-сайт INTRATENT, используемый «IE8 Mode Compatibity», даже у меня установлен DOCTYPE, META TAG, HTTP-заголовок, как предложено заставить его в режим IE8.

У меня есть

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

и

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

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

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

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

Это было полезно?

Решение

Похоже, что MSFT не рассматривает большую среду интранет, в которой у нас есть много разных веб-приложений.

Нет никакого способа обойти настройку IE8, согласно где-то читаю на форуме MSDN.

Итак, мне придется попросить моих системных администраторов поставить некоторые новые групповые политики для изменения настройки «Обзора совместимости» и значение и предотвратить изменение значения, пока MSFT не обнаружит эту ошибку и исправьте ее.

Из MSDN Blog Post. (акцент их): "Режим браузера выбран до IE запрос веб-контента. Отказ Это значит, что Сайты не могут выбрать режим браузера."

Другие советы

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

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

Вам придется сделать некоторые настройки к IE.

Они здесь.....

В интернет-вариантах / местных интрасети / сайтах

В разделе: локальная интранет внутри сайтов, снимите флажок «Автоматически определять сеть интранет».

Затем выберите «Включить все сети сети (UNCS)

Смотрите прикрепленные скриншоты

Screenshot

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

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

От это:

Взгляд совместимости и предприятие

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

Давайте посмотрим на несколько примеров. Если вы перемещаетесь на сайты на местной интрасети, как http: // myportal и http: // SharePoint / сайты / mysite, Internet Explorer 8 идентифицирует себя с строкой пользователей агента «7», версии Vector of '7', и отображает веб-страницы, которые вызывают режим стандартов стандартов Internet Explorer 7. Эта комбинация позволяет веб-страницам, которые правильно работали в Internet Explorer 7, чтобы продолжать делать это в IE8.

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

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

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

Если вы используете .NET, у меня есть ответ для вас:

HTML:

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="X-UA-Compatible" content="IE=8" >

Web.config:

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

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

В сочетании с установкой заголовков отклика HTTP работал для меня. Browser Mode пошел от «IE9 Mode Compatibility», чтобы просто «IE9 Mode».

HKEY_CURRENT_USER Программное обеспечение Microsoft Internet Explorer BrowsereMulation INTRANETCOMPATIVEMODE 1 -> 0

Для работы Meta Technation на работу DOCTYPE должен быть упрощенной версией:

<!DOCTYPE html>

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

Это комбинация сделала трюк для меня:

<!DOCTYPE HTML>
<HEAD>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" >
</HEAD>

По крайней мере, т. Е. Инструменты разработчика сообщает IE9 View Compat, IE8 Стандарты

Просто для ударов я попробовал Emoultie7 и это тоже работал. Упрощение расширенного! Доказ был ключом.

Вам нужно удалить номер порта с вашего сайта имени сайта домена:1180/показатель/

Если браузер посмотрите номер порта в URL - HI «Подумайте», это интранет.

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

Ответ, помеченный как «правильный», технически правильно, но свидетельствует о том, что нет решения реальной проблеме, с которыми сталкиваются большинство людей, которые являются: «Как я могу показать на IE8, с включенным режимом совместимости, веб-приложение, которое не поддерживает режим совместимости?".

<!DOCTYPE HTML>
<HEAD>
    <meta http-equiv="X-UA-Compatible" content="Edge" >
</HEAD>

Это работало для меня на нескольких рабочих станциях.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top