"X-UA-сумісний" вміст = "IE = 9; IE = 8; IE = 7; IE = EDGE ”


233
<meta http-equiv="X-UA-Compatible" content="IE=9; IE=8; IE=7; IE=EDGE" />
  1. Власне, в чому сенс цього твердження?

  2. Деякі приклади використовують ,для розділення версій IE, а деякі використовують ;; що правильно?

  3. Порядок IE=9; IE=8; IE=7; IE=EDGEмає певне значення, я хочу це знати.

Редагувати : Я використовую<!DOCTYPE html>


Я думаю, що IE = 9 не підходить дляX-UA-Compatible
Krish

3
Google насправді рекомендує: developers.google.com/web-toolkit/doc/latest/DevGuideIE9
PlantTheIdea

Відповіді:


328

Якщо ви підтримуєте IE для версій Internet Explorer 8 і новіших версій, це:

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

Примушує браузер відображати стандарти певної версії. Він не підтримується для IE7 та нижче.

Якщо ви розділяєте напівкрапкою, вона встановлює рівні сумісності для різних версій. Наприклад:

<meta http-equiv="X-UA-Compatible" content="IE=7; IE=9" />

Відображає IE7 та IE8 як IE7, але IE9 як IE9. Це дозволяє досягти різного рівня зворотної сумісності. Однак у реальному житті вам слід вибрати лише один із варіантів:

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

Це дозволяє значно спростити тестування та обслуговування. Хоча зазвичай більш корисною версією цього є використання Emulate:

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

Для цього:

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

Це змушує браузер відображати будь-які стандарти найсвіжішої версії.

Для отримання додаткової інформації про MSDN можна багато почитати ,


9
порядок IE = 9; IE = 8; IE = 7; IE = EDGE має деяке значення, я хочу знати, що
Куттан Суджіт

У мене є невеликий розрив у моєму розумінні цього. Якщо моя мета для тестування - IE8, але я не хочу зламати IE7, що б ви встановили цей метатег? І чи користуються цим будь-які інші браузери?
Снексе

2
IE7 не визнає цього, він був реалізований спочатку в IE8. Посилання на IE7 вище, якщо, наприклад, ви використовували IE7 як основу для тестування, і хотіли, щоб усі більш сучасні версії IE відображалися так, як це було б у стандартах IE7. жоден інший браузер не використовує цей тег.
PlantTheIdea

1
IE10 добре підтримує старі веб-додатки з IE = 8 (YMMV), проте емуляція IE11 IE8 перерва. Цей UA: content="IE=8; IE=11"дає режим браузера IE10 Compat Document Mode IE8 у IE10 та край документа в IE11. Однією з проблем присвоєння IE10 та IE11 UA є те, що Microsoft видалила умовні коментарі .
Підземний

Виходячи з цього метатега, IE11 не буде емулювати IE8, він вважатиме, що IE11 (як це було вказано у списку, розділеному крапкою з комою). Цей список також пояснює відступ до стандартів IE8, оскільки IE10 не знав про існування IE11, так само як IE8 не міг застосувати стандарти IE9. Ви спробували просто використовувати content="IE=8"? Або, бажано content="IE=EmulateIE8",?
PlantTheIdea

4

У деяких випадках може знадобитися обмеження відображення веб-сторінки в режимі документа, який підтримується більш ранньою версією Internet Explorer. Це можна зробити, подавши сторінку із заголовком, сумісним x-ua. Для отримання додаткової інформації див. Вказівка ​​застарілих режимів документування.
- https://msdn.microsoft.com/library/cc288325

Таким чином, цей тег використовується для подальшого підтвердження веб-сторінки, таким чином, що старший / сумісний двигун використовується для того, щоб відобразити його так, як задумав автор.

Переконайтеся, що ви перевірили його на належну роботу з вказаною вами версією IE.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.