Оновлення жовтня 2015 року
Ця відповідь була опублікована кілька років тому, і тепер питання справді має бути, чи варто вам навіть розглянути можливість використання X-UA-Compatible
тегу на вашому сайті? зі змінами, які Microsoft внесла у свої браузери (докладніше про ці нижче).
Залежно від того, які браузери Microsoft ви підтримуєте, можливо, вам не знадобиться продовжувати використовувати X-UA-Compatible
тег. Якщо вам потрібно підтримувати IE9 або IE8, я б рекомендував використовувати тег. Якщо ви підтримуєте лише найновіші веб-переглядачі (IE11 та / або Edge), я б подумав взагалі скинути цей тег. Якщо ви використовуєте Twitter Bootstrap і вам потрібно усунути попередження перевірки, цей тег повинен з’являтися у визначеному порядку. Додаткова інформація нижче:
X-UA-Compatible
Мета тег дозволяє веб - авторам , щоб вибрати , яка версію Internet Explorer сторінка повинна бути надана в якості. IE11 вніс зміни в ці режими; див. примітку IE11 нижче. Microsoft Edge , браузер, який замінив IE11, лише шанує X-UA-Compatible
метатег за певних обставин. Див. Примітку Microsoft Edge нижче.
На думку Microsoft, при використанні X-UA-Compatible
тегу він повинен бути максимально високим у вашому документі head
:
Якщо ви використовуєте тег META, сумісний з X-UA, ви хочете розмістити його якомога ближче до верхньої частини сторінки HEAD. Internet Explorer починає інтерпретувати розмітку, використовуючи останню версію. Якщо Internet Explorer наштовхується на тег META, сумісний з X-UA, він починає використовуватись з використанням двигуна призначеної версії. Це показник ефективності, оскільки браузер повинен зупинитися та перезапустити аналіз вмісту.
Ось ваші варіанти:
- "IE = край"
- "IE = 11"
- "IE = EmulateIE11"
- "IE = 10"
- "IE = EmulateIE10"
- "IE = 9"
- "IE = EmulateIE9
- "IE = 8"
- "IE = EmulateIE8"
- "IE = 7"
- "IE = EmulateIE7"
- "IE = 5"
Щоб спробувати зрозуміти, що означає кожен, тут наведені визначення, надані Microsoft:
Internet Explorer підтримує ряд режимів сумісності документів, які дозволяють використовувати різні функції та можуть впливати на спосіб відображення вмісту:
Режим Edge повідомляє Internet Explorer відображати вміст у найвищому доступному режимі. У Internet Explorer 9 це еквівалентно режиму IE9. Якщо в майбутньому випуску Internet Explorer підтримується більш високий режим сумісності, сторінки, встановлені в крайньому режимі, відображатимуться у найвищому режимі, підтримуваному цією версією. Ці самі сторінки все одно відображатимуться в режимі IE9 при перегляді Internet Explorer 9. Internet Explorer підтримує ряд режимів сумісності документів, які дозволяють використовувати різні функції та можуть впливати на спосіб відображення вмісту:
Режим IE11 забезпечує найвищу підтримку для встановлених та нових галузевих стандартів, включаючи HTML5, CSS3 та інші.
Режим IE10 забезпечує найвищу підтримку для встановлених та нових галузевих стандартів, включаючи HTML5, CSS3 та інші.
Режим IE9 забезпечує найвищу підтримку встановлених та нових галузевих стандартів, включаючи HTML5 (робочий проект), каскадні таблиці стилів W3C рівня 3 рівня (робочий проект), масштабовану векторну графіку (SVG) 1.0 специфікацію та інші. [Примітка редактора: IE 9 не підтримує анімацію CSS3].
Режим IE8 підтримує безліч встановлених стандартів, включаючи каскадні таблиці стилів W3C, рівень 2.1, специфікацію та API селекторів W3C; він також надає обмежену підтримку специфікацій каскадних таблиць стилів W3C рівня 3 (робочий проект) та інших нових стандартів.
Режим IE7 робить вміст так, ніби він відображався в стандартному режимі Internet Explorer 7, незалежно від того, чи містить сторінка директива.
Емуляція режиму IE9 повідомляє Internet Explorer використовувати директиву для визначення способу візуалізації вмісту. Директиви режиму стандартів відображаються в режимі IE9, а директиви режиму диваків відображаються в режимі IE5. На відміну від режиму IE9, режим Emulate IE9 дотримується директиви.
Емуляція режиму IE8 повідомляє Internet Explorer використовувати директиву для визначення способу візуалізації вмісту. Директиви режиму стандартів відображаються в режимі IE8, а директиви режиму примх відображаються в режимі IE5. На відміну від режиму IE8, режим Emulate IE8 дотримується директиви.
Емуляція IE7 вказує Internet Explorer використовувати директиву для визначення способу візуалізації вмісту. Директиви режиму стандартів відображаються в стандартному режимі Internet Explorer 7, а директиви режиму диваків відображаються в режимі IE5. На відміну від режиму IE7, режим Emulate IE7 дотримується директиви. Для багатьох веб-сайтів це кращий режим сумісності.
Режим IE5 робить вміст так, як ніби він відображався в режимі химерності Internet Explorer 7, що дуже схоже на те, як вміст відображався в Microsoft Internet Explorer 5.
Примітка IE10: Станом на IE10, режим диваків веде себе інакше, ніж у попередніх версіях браузера. У IE9 та більш ранніх версіях режим примх обмежував веб-сторінку функціями, які підтримуються IE5.5. У IE10 режим диваків відповідає розбіжностям, визначеним у специфікації HTML5.
Особисто я завжди вибираю http-equiv="X-UA-Compatible" content="IE=edge"
метатег, оскільки у старих версіях є багато помилок, і я не хочу, щоб IE вирішив перейти в "режим сумісності" і показувати свій сайт як IE7 проти IE8 або 9. Я завжди віддаю перевагу останню версію IE.
IE11
Від Microsoft :
Починаючи з IE11, кращий режим є кращим документом; він представляє найвищу підтримку сучасних стандартів, доступних для браузера.
Використовуйте декларацію типу HTML5 для ввімкнення крайового режиму:
<!doctype html>
Режим Edge був введений в Internet Explorer 8 і був доступний у кожному наступному випуску. Зауважте, що функції, підтримувані крайовим режимом, обмежені функціями, підтримуваними певною версією браузера, що надає вміст.
Починаючи з IE11, режими документу застаріли і більше не повинні використовуватися, за винятком тимчасової бази. Обов’язково оновлюйте сайти, які покладаються на застарілі функції та режими документування, щоб відповідати сучасним стандартам.
Якщо вам потрібно націлити конкретний режим документа, щоб ваш сайт функціонував під час його переробки на підтримку сучасних стандартів та функцій, пам’ятайте, що ви використовуєте перехідну функцію, таку, яка може бути недоступною у майбутніх версіях.
Якщо ви зараз використовуєте сумісний із заголовком x-ua для націлювання на застарілий режим документа, можливо, ваш сайт не відображатиме найкращого досвіду, доступного для IE11.
Microsoft Edge (Заміна для Internet Explorer, що постачається в комплекті з Windows 10)
Інформація про X-UA-Compatible
метатег для версії IE "Edge". Від Microsoft :
Введення в режим «живого» Edge документа
Як ми оголосили в серпні 2013 року, ми знижуємо режими документу станом на IE11. Завдяки останнім оновленням платформи потреба у застарілих документах обмежується насамперед веб-програмами, що передаються у спадщину. З новими архітектурними змінами ці застарілі режими документообігу будуть відокремлені від змін у режимі "живого" Edge, що допоможе гарантувати набагато більш високий рівень сумісності для клієнтів, які залежать від цих режимів, та допоможе нам ще швидше рухатись покращенням Edge . IE все ще буде вшановувати режими документування, що обслуговуються веб-сайтами інтрамережі, сайтами зі списку «Перегляд сумісності» та при використанні лише для корпоративного режиму.
Загальнодоступні веб-сайти будуть надані за допомогою нової платформи Edge mode (ігнорування X-UA-Compatible). Наша мета полягає в тому, щоб Edge був "живим" режимом документа звідси і більше не вводиться подальший режим документування.
Зі змінами в Microsoft Edge, щоб більше не підтримувати режими документування, у більшості випадків Microsoft має інструмент для сканування вашого сайту, щоб перевірити і перевірити, чи є у нього код, який не сумісний з Edge.
Chrome = 1 інформація для IE
Існує також , chrome=1
що ви можете використовувати або використовувати спільно з одним з представлених вище опцій , таких як: <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
. chrome=1
призначений для Chrome Frame від Google, який визначається як:
Google Chrome Frame - плагін браузера з відкритим кодом. Користувачі, у яких встановлений плагін, мають доступ до відкритих веб-технологій Google Chrome та швидкого механізму JavaScript, коли вони відкривають сторінки у веб-переглядачі.
Google Chrome Frame безперешкодно покращує вашу роботу в Internet Explorer. На ньому відображаються веб-сайти з підтримкою Google Chrome Frame, використовуючи технологію візуалізації Google Chrome, надаючи вам доступ до найновіших функцій HTML5, а також функцій продуктивності та безпеки Google Chrome, жодним чином не порушуючи звичне використання браузера.
Коли Google Chrome Frame встановлений, веб просто покращується, не замислюючись про це.
Але для цього плагіна для роботи необхідно використовувати chrome=1
в X-UA-Compatible
мета - тезі.
Більше інформації про Chrome Frame можна знайти тут .
Примітка: Google Chrome Frame працює лише для IE6 до IE9 , і було вимкнено 25 лютого 2014 року. Більше інформації можна знайти тут . Дякуємо @mck за посилання.
Перевірка:
HTML5 :
Сторінка буде підтверджена за допомогою валідатора W3 лише під час використання <meta http-equiv="X-UA-Compatible" content="IE=Edge">
. Для інших значень це призведе до помилки: A meta element with an http-equiv attribute whose value is X-UA-Compatible must have a content attribute with the value IE=edge.
Іншими словами, якщо IE=edge,chrome=1
вона є, вона не перевірятиме. Я повністю ігнорую цю помилку, оскільки сучасні браузери просто ігнорують цей рядок коду.
Якщо у вас повинен бути повністю дійсний код, тоді подумайте про це на рівні сервера, встановивши заголовк HTTP. Як зауваження, Microsoft говорить: If both of these instructions are sent (meta and HTTP), the developer's preference (meta element) takes precedence over the web server setting (HTTP header).
Дивіться відповідь olibre або відповідь бітіна для отримання більш детальної інформації про те, як встановити HTTP-заголовок.
XHTML
Немає проблеми з валідацією при використанні <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
, якщо тег належним чином закритий (тобто />
vs >
).
Twitter Bootstrap
Цей тег настійно рекомендується командою Bootstrap щонайменше з 2014 року, і Bootlint , підводник, автором якого є команда twbs, продовжує видавати попередження, коли тег опущено. Лінійка розрізняє застереження та помилки, і тому тяжкість пропускання цього тегу може вважатися незначною.
Для отримання додаткової інформації про X-UA-Compatible
веб- сайт Microsoft, що визначає сумісність документів .
Для отримання додаткової інформації про те, що підтримується IE, див. Caniuse.com .
Для отримання додаткової інформації про вимоги до завантаження у Twitter див. Сторінку вікі проекту bootlint .