Я выполняю работу для клиента, который принудительно поддерживает режим совместимости на всех сайтах интрасети. Мне было интересно, есть ли в моем теге тег, который отключает режим совместимости.Отключить режим совместимости IE с помощью тегов
ответ
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<title>My Web Page</title>
</head>
<body>
<p>Content goes here.</p>
</body>
</html>
От связанной страницы MSDN:
режим пограничного говорит Windows Internet Explorer для отображения содержимого в режиме максимального доступного, который фактически разрывает «Привязанность» парадигму. В Internet Explorer 8 это эквивалентно режиму IE8. Если (гипотетический) будущий выпуск Internet Explorer поддерживает более высокий режим совместимости, страницы, установленные в режиме Edge, будут отображаться в самом высоком режиме, поддерживаемом этой версией; Однако, те же страницы будут по-прежнему отображаться в режиме IE8, если смотреть с Internet Explorer 8.
Однако режим «край» не рекомендуется при использовании продукции:
Рекомендуется, чтобы веб-разработчики ограничивают их использование режима Edge для тестирования страниц и других непроизводственных целей из-за возможных неожиданных результатов отображения содержимого страницы в будущих версиях Windows Internet Explorer.
Я честно не совсем понимаю, почему. Но в соответствии с этим лучшим способом пойти на данный момент является использование IE=8
.
Это действительно удобно использовать с плагином Chrome Frame. Он удаляет кнопку «Совместимость» из IE. У меня были проблемы с тем, где я хочу использовать фрейм Chrome с IE8 и ниже, но затем у кого-то, использующего IE9, установлена кнопка совместимости по умолчанию, и в конечном итоге они вынуждены устанавливать Google Chrome Frame, когда они им не нужны. –
По состоянию на 8/6/2012 Microsoft, по-видимому, использует 'IE = 10' на своих сайтах. Если вы протестировали свой сайт в IE10 (версия предварительного просмотра), безопасно использовать это; в противном случае вы можете захотеть придерживаться 'IE = 9'. – calvinf
Я обнаружил, что это НЕ работает, если пользователь (или sysadmin) включил режим совместимости по умолчанию, перейдя в «Инструменты-> Параметры просмотра совместимости» и проверив отображение всех веб-сайтов в режиме совместимости. Чтобы устранить проблему, я должен вернуть заголовок в ответе HTTP: 'X-UA-Compatible: IE = edge' – speedplane
Я считаю, что это будет делать трюк:
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
После многих часов по устранению неисправности этого материала ... Вот некоторые быстрые моменты, которые помогли нам от X-UA-Compatible
Документов http://msdn.microsoft.com/en-us/library/cc288325(VS.85).aspx#ctl00_contentContainer_ctl16
<meta http-equiv="X-UA-Compatible" content=" _______ " />
Использования
The Standard User Agent режимов (НЕРАСПРОСТРАНЕНИЯ -emulate) игнорировать директивы
<!DOCTYPE>
на вашей странице и рендеринг на основе стандартов, поддерживаемых этой версией IE (например,IE=8
лучше будет соблюдать интервалы между табличными границами и некоторые псевдоселекторы, чемIE=7
).Принимая во внимание, что Эмуляция режимы говорят IE, чтобы следить за любыми
<!DOCTYPE>
директивы в вашей страницы, что делает стандартный режим на основе выбранной версии и режим совместимости, основанный наIE=5
Возможные значения для атрибута
content
являются:content="IE=5"
content="IE=7"
content="IE=EmulateIE7"
content="IE=8"
content="IE=EmulateIE8"
content="IE=9"
content="IE=EmulateIE9"
content="IE=edge"
IE8 по умолчанию использует режим стандартов для режима intERnet и quirks для intRAnet. Метатег HTML игнорируется, если у вас установлен doctype на xhtml transitional. Решение состоит в том, чтобы добавить HTTP-код в код. Это сработало для нас. Теперь наш сайт интранета заставляет IE8 отображать приложение в стандартном режиме.
Добавлено в PageInit базового класса страницы (ASP.net C#): Response.AddHeader («X-UA-совместимый», «IE = EmulateIE8»);
ссылка: http://ilia.ws/archives/196-IE8-X-UA-Compatible-Rant.html
Если вы работаете со страницей в зоне интрасети, вы можете обнаружить, что IE9 независимо от того, что вы делаете, не вдаваясь в режиме IE7 Compat.
Это связано с настройкой в настройках совместимости IE, в которой говорится, что все сайты интрасети должны работать в режиме совместимости. Вы можете убрать галочку это с помощью групповой политики (или просто сняв выделение его в IE), или вы можете установить следующее:
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
Это работает (как указано в других ответах), но не может поначалу оказаться так: он должен появиться до объявления стилей. Если вы этого не сделаете, это будет проигнорировано.
спасибо, это помогает мне –
спасибо за предупреждение о таблице стилей, это вызывало проблемы, и я знаю причину сейчас! – emre
Да, изначально выгравирован путем размещения. Спасибо, что добавил. –
мета тег решение не работает для нас, но установить его в заголовке ответа так:
header('X-UA-Compatible: IE=edge,chrome=1');
+1 для «хром = 1»; Я никогда об этом не знал. Для чего это стоит, изменив его на IE = 10, выяснилось несколько проблем с рендерингом на моем сайте, на которые IE = edge не повлиял. – 2013-02-25 15:17:56
Пояснение свойства 'chrome = 1', http://stackoverflow.com/a/22059516/368691. Не забывайте, что Chrome Frame вышел на пенсию. http://blog.chromium.org/2013/06/retiring-chrome-frame.html – Gajus
см. комментарии к другим ответам ... Я обнаружил, что это НЕ работает, если пользователь (или sysadmin) включил совместимость по умолчанию, выбрав Инструменты-> Параметры просмотра совместимости и проверку отображения всех веб-сайтов в режиме совместимости. speedplane Apr 19 '13 at 11:29 Метатег совместимости ДОЛЖЕН быть первым метатегом, и перед тегом не может быть никаких условных операторов IE. Подробнее: tesmond.blogspot.com/2011/10/... - Chris Sobolewski Aug 19 '13 at 20:23 – felickz
Еще несколько заметок по этой теме на основе моих недавних переживаний. В университете я работаю над выпуском ноутбуков с IE 8, установленными в режим совместимости для всех сайтов интрасети. Я попытался добавить метатег, чтобы отключить этот режим для страниц, обслуживаемых моим сайтом, но IE последовательно игнорировал этот тег. Как упоминал Ланс в своем посте, добавление заголовка ответа исправило эту проблему.Это, как я установить заголовок на основе метода шаблонного HTML5:
<IfModule mod_headers.c>
Header set X-UA-Compatible "IE=edge,chrome=1"
# mod_headers can't match by content-type, but we don't want to send this header on *everything*...
<FilesMatch "\.(appcache|crx|css|eot|gif|htc|ico|jpe?g|js|m4a|m4v|manifest|mp4|oex|oga|ogg|ogv|otf|pdf|png|safariextz|svg|svgz|ttf|vcf|webm|webp|woff|xml|xpi)$">
Header unset X-UA-Compatible
</FilesMatch>
</IfModule>
Для того, чтобы этот заголовок на самом деле быть отправлены, вы должны убедиться, что у вас есть mod_headers включен в Apache. Если вы хотите, чтобы убедиться, что у вас есть этот мод включен, поставить это на странице, которая может работать PHP:
<pre>
<?php
print_r(apache_get_modules());
?>
</pre>
Метод .htaccess работал для меня, в IE8 + Удалил кнопку совместимости (иначе Enemy № 1) и заставило IE8 чтобы избежать использования режима совместимости. Связано: альтернатива метатега, похоже, работает только при определенных условиях (IE Voodoo) на разных компьютерах. –
Это связано с установкой в настройках IE совместимости, который говорит, что все интранет-сайты должны работать в совместимости Режим. Вы можете убрать галочку это с помощью групповой политики (или просто сняв выделение его в IE), или вы можете установить следующее:
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
По-видимому, не представляется возможным изменить параметры просмотра совместимости как групповая политика, но оно что-то, что может быть изменено в реестре, этот метатег отлично работает для меня, мне пришлось сделать требуемый атрибут работой как часть html-формы, он работал в chrome и firefox, но не в IE.
Вот хороший обзор того, какие браузеры поддерживают каждый отдельный элемент html 5.
Обратите внимание на один общий знаменатель Google Chrome, он поддерживает все. Надеюсь, это поможет
Похоже, что Firefox и IE 10 теперь поддерживают все. Диаграмма не делает это так же ясно, как для Chrome. –
Как указано в этом вопросе answer к соответствующему вопросу, в файле Web.Config можно установить режим «edge». Это позволит применить ко всем HTML возвращенного из приложения без необходимости вставлять ее на отдельные страницы:
<configuration>
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="X-UA-Compatible" value="IE=edge" />
</customHeaders>
</httpProtocol>
</system.webServer>
</configuration>
Этот же шаг также может быть достигнуто путем modifying the "HTTP Response Headers" using IIS Manager для сервера IIS, всего веб-сайта или конкретных приложений.
Вставьте в качестве самого первого элемента под биркой.
Это заставляет IE отображать страницу в физической версии IE и игнорирует «Режим настройки браузера». Это можно установить в инструментах разработчика, попробуйте изменить его на старую версию IE для тестирования, это следует игнорировать, и страница должна выглядеть точно так же.
Если у вас есть доступ к серверу, самый надежный способ сделать это - сделать это на самом сервере в IIS. Перейдите в заголовки ответов HTTP IIS. Добавить Имя: X-UA-Compatible
Значение: IE = edge Это переопределит ваш браузер и ваш код.
- 1. Отключить режим совместимости IE 8 для сайта
- 2. Режим совместимости IE Bug
- 3. режим совместимости Force IE от в IE с помощью тегов для режима браузера
- 4. Отключить просмотр совместимости через код В IE?
- 5. режим совместимости Nightmare.js и IE
- 6. Включить режим браузера IE в режим совместимости?
- 7. Режим совместимости в IE 11
- 8. Как я могу программно отключить режим совместимости IE?
- 9. Определить режим совместимости IE только с PHP
- 10. Режим совместимости с IE9
- 11. Проблема IE с режимами совместимости
- 12. Ie 6, 7 и 8 (режим совместимости)
- 13. Принудительный режим совместимости IE не работает
- 14. Режим совместимости ASP.NET в IE 9
- 15. User-агент тегов для IE 11.0 совместимости
- 16. Force IE 7 Режим совместимости в IE8
- 17. Обнаружение версии IE, не учитывающей режим совместимости
- 18. Определить режим совместимости с IE10
- 19. кнопку Режим совместимости все еще там, даже с IE = край
- 20. Проблемы с режимом совместимости IE
- 21. selenium - режим совместимости с internetexplorerdriver
- 22. Не использовать режим совместимости
- 23. Установить режим совместимости IE11 с помощью HTML
- 24. Как отключить просмотр совместимости в IE?
- 25. Режим совместимости интрасети переопределяет IE-7 по умолчанию
- 26. Отключение режима совместимости IE 8
- 27. Как получить последний режим совместимости с IE, до IE9?
- 28. Режим совместимости IE создает проблемы с XPages DateTimePicker
- 29. Режим совместимости для IE 10 с использованием метатега
- 30. режим совместимости Set IE с использованием X-UA-Compatible
Я думаю, что ответ, который вы ищете, находится здесь: http://stackoverflow.com/questions/1014666/force-ie8-into-ie7-compatiblity-mode – Gabriel
Фактически я искал точную противоположность, которая устанавливает их стандарт для режима совместимости, это просто безумие. –
Плохой javascript на устаревшем приложении, который падает на что-либо, кроме IE7, это тот, который устанавливает свой стандарт на совместимость. Однажды мы заменим его ... –