Подтвердить что ты не робот

Режим совместимости IE: тег 'X-UA-Compatible' 'Edge'

У меня это в <head>:

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

Он заставит последний режим рендеринга для IE, но считается ли режим совместимости последним?

Я имею в виду, например: используя этот код с IE8, он заставит его использовать режим совместимости IE8 или IE8?

4b9b3361

Ответ 1

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

Обратите внимание, что тег должен быть первым тегом в голове, иначе он не будет работать. Этот факт способствует использованию HTTP-заголовков, если это возможно, поскольку порядок в заголовках HTTP не имеет значения.

Если в режиме совместимости завершается завершение работы браузера, когда вы используете заголовок или метатег, возможно, одна из этих причин:

  • вам не хватает разумного метода
  • в браузере всегда установлен режим совместимости.
  • сайт размещен на "узле интрасети", а параметр по умолчанию для сайтов интрасети установлен

Изменение настроек просмотра совместимости браузеров

Microsoft считает, что по крайней мере 192.168.x.x находится на "сайте интрасети". По умолчанию для сайтов интрасети в IE8/IE9 используется режим совместимости. Это огромная проблема для многих бизнес-приложений, поскольку программист НЕ МОЖЕТ переопределить эту опцию даже с помощью этого метатега. ( "Отображать сайты интрасети в представлении Compatitiblity" не переопределяется метатегами или http-заголовком - браузер в этом случае полностью контролирует представление совместимости)

Compatibility View Settings

Всегда добавляйте этот метатег или заголовок http?

Еще одна хорошая вещь об использовании этого метатега заключается в том, что значок "Compatibilty view" удаляется из адресной строки браузера. По крайней мере, ваши пользователи могут не решить режим рендеринга с помощью этой кнопки.

Ответ 2

Даже если вы сняли флажок "Показывать сайты интрасети в представлении совместимости" и имеете совместимость с X-UA в заголовках ответов, есть еще одна причина, по которой ваш браузер может по умолчанию использовать "Совместимость" - ваша группа Политика. Посмотрите на консоль для следующего сообщения:

HTML1203: xxx.xxx настроен для запуска в представлении совместимости с помощью групповой политики.

Где xxx.xxx - это домен для вашего сайта (т.е. test.com). Если вы видите это, тогда групповая политика для вашего домена будет настроена так, чтобы любой сайт, заканчивающийся на test.com, автоматически отображался в режиме совместимости независимо от типа doctype, заголовков и т.д.

Для получения дополнительной информации см. следующую ссылку (объясняет html-коды): http://msdn.microsoft.com/en-us/library/ie/hh180764(v=vs.85).aspx

Ответ 3

Я не эксперт, но проб и ошибок:

<meta http-equiv="X-UA-Compatible" content="IE=8, IE=9, IE=edge"/>

решил проблему для меня. Я использовал это на веб-сайтах и ​​webapps, и он остановил работу IE8 от режима совместимости и отобразился как "стандартный" в IE10 и IE11.

Ответ 4

В чем смысл использования ключевого слова Edge? Я имею в виду, если вы хотите, чтобы IE использовал самый последний механизм рендеринга, просто отбросьте весь метатег.

В противном случае он должен выглядеть примерно так (что бы заставить IE8 вести себя как IE7, а IE9 и новее будут работать как обычно):

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