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

Использование <meta http-equiv = "X-UA-Compatible" content = "IE = 8" /"> режим на сайтах хорошая практика?

Недавно я обнаружил радости добавления следующего в заголовок сайтов:

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

Веб-сайты просто работают, CSS красив, а жизнь хороша. Но я немного обеспокоен тем, насколько хороша такая практика?

Как насчет действительно старого компьютера, на котором установлен IE7? Может ли эта версия IE7 фактически получить доступ к стандарту IE8?

4b9b3361

Ответ 1

Короткий ответ на последнюю часть вашего вопроса - нет: IE7 нельзя заставить работать в режиме IE8. Поэтому использование заголовка X-UA-Compatible не заставит более старые версии IE думать, что это более новая версия. (если это сработало, мы все могли бы начать использовать content="IE-10" и делать это с беспокойством о обратной совместимости навсегда)

Что означает флаг X-UA-Compatible, так это сказать, что более новые версии IE возвращаются в режим совместимости для эмуляции старых версий. Поэтому ваш флаг content="IE-8" не будет влиять на IE7 или IE8, но заставит IE9 вернуться в режим IE8.

Это означает, что IE9 эффективно отбрасывает свои новые функции во имя попытки обратной совместимости.

Если это то, что вы хотите от IE9, тогда обязательно используйте заголовок X-UA-Compatible. Если это не то, что вы хотите, тогда не используйте его.

(стоит отметить, что режимы обратной совместимости в IE, как известно, не очень хороши в том, что они на 100% совместимы с реальными копиями версии, которую они пытаются подражать, поэтому не думайте, что вы получите идеальная копия IE8, работающая в IE9, - она ​​будет иметь собственные причуды, которые отличаются от IE8 или IE9 в обычном режиме)

Ответ 2

Еще одна вещь, о которой стоит помнить, - это то, что предоставленные тегом теги не всегда работают. прочитайте определение совместимости документов, особенно дополнения сообщества в нижней части страницы.

Что касается лучшей практики, это, вероятно, не лучшее долгосрочное решение, но очень удобно, когда IE9 был выпущен, а сайты пошли вниз.

Ответ 3

У меня установлен IE8 в тестовой среде Windows 7, и он отображает некоторые части моего кода, как это делал IE7 раньше (в моих мета-тегах нет content = "IE7" )! < ш > На другой машине с Windows 7 + IE8 код отображается другим, но так, как я хочу.
Есть интересная статья в http://www.greywyvern.com/?post=313, в которой говорится, что способ, которым IE8 оказывает влияние, зависит от пакета обновления, установленного в системе (статья касается XP, но мой Windows 7, и у меня такая же проблема).

Итак, теперь я помещаю content = "IE10" на свои веб-страницы, и мой сайт правильно отображается в IE10, IE9 и IE8.

Ответ 4

Я использую Discus, он несовместим со старыми версиями IE. Я получил помощь, которую они сказали, чтобы использовать контент = "IE-8" в моем коде страницы...

content = "IE-8" также сказал моему браузеру изменить размеры таблиц и текстов и т.д.: p Я изменился на content = "IE-7" , он отлично работает.

Ответ 5

Добавление режима <meta http-equiv="X-UA-Compatible" content="IE=8" />, вероятно, не очень хорошая идея, так как это остановит ваше приложение, чтобы воспользоваться преимуществами новых версий браузера. Но я думаю, что добавление <meta http-equiv="X-UA-Compatible" content="IE=Edge" /> является хорошим, поскольку оно заставляет браузер выполнять рендеринг при любых последних версиях стандартов.

Примечание. Добавление Edge может привести к повреждению вашего кода, поскольку ваше приложение не может быть протестировано для этой новой версии. В большинстве случаев это работает совершенно нормально, но вы никогда не знаете.

Подробнее о других возможных вариантах см.

"X-UA-Compatible" content = "IE = 9; IE = 8; IE = 7; IE = EDGE"

Ответ 6

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