Дополнительно
Что делает <meta http-equiv="X-UA-Compatible" content="IE=edge">?
Какая'разница, если одна веб-страница начинается с
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
и если страница начинается с
<!DOCTYPE html>
<html>
<head>
<!-- without X-UA-Compatible meta -->
Если разницы нет, я полагаю, что могу просто игнорировать мета-заголовок X-UA-Compatible
, поскольку я просто хочу, чтобы он отображался в наиболее стандартном режиме во всех версиях IE.
1374
12
Обновление октября 2015 года
Этот ответ был опубликован несколько лет назад, и теперь вопрос действительно должен звучать так: "Стоит ли вообще использовать тег
X-UA-Compatible
на вашем сайте?" с учетом изменений, внесенных Microsoft в свои браузеры (подробнее об этом ниже). В зависимости от того, какие браузеры Microsoft вы поддерживаете, возможно, вам не нужно продолжать использовать тегX-UA-Compatible
. Если вам нужно поддерживать IE9 или IE8, то я бы рекомендовал использовать этот тег. Если вы поддерживаете только последние версии браузеров (IE11 и/или Edge), то я бы рассмотрел возможность отказаться от этого тега. Если вы используете Twitter Bootstrap и вам необходимо устранить предупреждения о валидации, этот тег должен отображаться в указанном порядке. Дополнительная информация ниже:Мета-тег
X-UA-Compatible
позволяет веб-авторам выбрать, в какой версии Internet Explorer должна отображаться страница. В IE11 эти режимы были изменены; см. примечание о IE11 ниже. [Microsoft Edge][1], браузер, пришедший на смену IE11, соблюдает метатегX-UA-Compatible
только в определенных случаях. См. примечание о Microsoft Edge ниже. Согласно Microsoft, при использовании тегаX-UA-Compatible
он должен находиться как можно выше вhead
вашего документа:Используйте
content=
"IE=edge,chrome=1"
Пропустите другие режимыX-UA-Compatible
.В адресной строке IE9 не отображается кнопка [Compatibility View][MSICON]
и на странице также не появляется нагромождение не к месту расположенных меню, изображений и текстовых полей.
Этот метатег необходим для включения
javascript::JSON.parse()
на IE8(даже если присутствует ``)
Рендеринг/исполнение современных HTML/CSS/JavaScript более корректен (приятен).
Производительность
Движок Trident rendering engine должен работать быстрее в своем edge режиме.
Использование
В вашем HTML
IE=edge
означает, что IE должен использовать последнюю (edge) версию своего движка рендеринга.chrome=1
означает, что IE должен использовать движок рендеринга Chrome, если он установлен. Или лучше в конфигурации вашего веб-сервера:(см. также RiaD's answer)
Apache как предложено pixeline
Nginx как предложено Stef Pause сервер {
...
Varnish прокси, предложенный Lucas Riutzel sub vcl_deliver { if( resp.http.Content-Type ~ "text/html" ) { set resp.http.X-UA-Compatible = "IE=edge,chrome=1"; } }
IIS (начиная с v7)
Microsoft рекомендует Edge mode с IE11
Как заметила Lynda (см. комментарии), в Изменениях совместимости в IE11 рекомендуется Edge mode:
Но позиция Microsoft не ясна. Другая [страница MSDN не рекомендует Edge mode][noEdge]:
Разница в том, что если вы только укажите
установлен
, т. е. х параметры просмотра в режиме совместимости взять верх. По умолчанию эти параметры заставят все сайты в режиме совместимости интранет, независимо отустановлен
. Есть также флажок Использовать режим совместимости для всех сайтов, независимо отустановлен
.Х-УА-совместимый
переопределяет параметры просмотра в режиме совместимости, поэтому страница будет отображаться в стандартном режиме, независимо от настроек браузера. Это норм режиме для:Установлен
в одиночку не может сделать это; вы будете в конечном итоге в одном из режимов просмотра в режиме совместимости в этих случаях независимо отустановлен
.Если указаны оба тега Мета и заголовок HTTP, тег "мета" имеет приоритет.
Этот ответ базируется на изучении полные правила определения режима документов в ИЕ8, ИЕ9, и [в IE10]. Обратите внимание, что глядя На
установлен
- это самый последний запасной вариант для решения режим документа.[В IE10]: http://msdn.microsoft.com/en-us/library/ff405803(В=и 85).аспн
Используйте это, чтобы заставить IE скрыть раздражающую кнопку совместимости браузера в адресной строке:
Так как я не могу добавить комментарий к заметному ответа я просто опубликовать это здесь.
В дополнение к правильному ответу вы действительно можете это проверить. Поскольку этот мета-тег предназначен только для IE все, что вам нужно сделать, это добавить условный тоесть.
Делаем это так же, как добавление любой другой условный оператор, т. е. и работает только для IE и другие браузеры не будут затронуты.
Я думаю, что эта схема от Microsoft объясняет все. Для того, чтобы сказать, т. е. как отображать контент, !DOCTYPE не работать с х-УА-совместимый мета-тег. !Тип документа само по себе не влияет на изменение режима документа, т. е..
http://ie.microsoft.com/testdrive/ieblog/2010/Mar/02_HowIE8DeterminesDocumentMode_3.png
Просто для полноты, вы не'т на самом деле есть, чтобы добавить его в свой HTML (который неизвестно НТТР-экв в HTML5)
Сделать это и никогда не оглядываться назад (первый пример для Апач, вторая - с nginx)
Просто одним предложением сказать проинструктировать интернет Explorer, чтобы использовать свой последний движок
Чтобы сделать эту линию работы, как ожидалось, убедитесь, что:
<головы>
<html-код>
элементВ противном случае некоторые версий т. е. попросту игнорировать ее.
Обновление
Эти два правила упрощены, но их легко запомнить и проверить. Несмотря на документы на MSDN о том, вы можете поместить title и другие мета-теги до этого, я бы не рекомендовал так делать.
Как заставить его работать с условные комментарии.
Интересные статьи о порядок элементов в голове. (blogs.msdn.com, для IE)
Ссылка
Из документации MSDN]:
если вы используете ваш веб-сайт в той же сети что и сервер, т. е. любит, чтобы переключиться на режим игры несмотря на тип документа. Добавление мета НТТР-экв=с"Х-УА-совместимый" По материалам="и=т. е. край"` в отключает это нежелательное поведение.
Это буквально 1 запрос в Google за, но здесь идет:
[http://msdn.microsoft.com/en-us/library/jj676915(В=и 85).аспн][2]
[2]: http://msdn.microsoft.com/en-us/library/jj676915(В=и 85).аспн
Также среди результатов поиска:
2.1.3.5 х-УА-совместимость мета тегов и заголовков HTTP-ответа
Эта функция не будет реализована в любой версии Microsoft края.
См. [https://msdn.microsoft.com/en-us/library/ff955275(В=и 85).аспн][1]
Да, я знаю, что я'м поздно, чтобы партии, но у меня просто было несколько вопросов, и обсуждений, и в конце концов мой босс заставил меня снять х-УА-совместимый тег удалить из всех документов, которые я'ве работал.
Если эта информация устарела или не актуальна, пожалуйста, поправьте меня.
[1]: https://msdn.microsoft.com/en-us/library/ff955275(В=и 85).аспн