Принуждение IE 11 вести себя как IE 10

Мы столкнулись с необычной ошибкой в ​​Internet Explorer, и нам нужно заставить IE 11 вести себя как IE 10 (поскольку этой ошибки нет в IE 10).

Я пробовал следующее:

    <meta http-equiv="x-ua-compatible" content="IE=10">

но, к сожалению, это не работает, и я не нашел ничего подходящего или полезного в поиске Google или в документах. Так как же заставить IE 11 вести себя как IE 10?


person jAsOn    schedule 03.09.2013    source источник
comment
Почему бы просто не исправить ошибку? (или хотя бы проверьте, какую версию использует пользователь)   -  person Sayse    schedule 03.09.2013
comment
Поскольку IE11 все еще является только предварительным выпуском, почему вы думаете, что эта ошибка не будет исправлена ​​до выпуска?   -  person    schedule 03.09.2013
comment
Потому что это не МОЯ ошибка, как я сказал в вопросе, это ОШИБКА IE.   -  person jAsOn    schedule 03.09.2013
comment
@MikeW У моего клиента много клиентов, которые уже используют IE 11, и это мешает им войти в систему, зарегистрироваться и заказать продукты. Любая другая версия IE и любой другой браузер отлично работают с сайтом. Извините за попытку что-то с этим сделать. И я знаю, что это может быть исправлено до релиза, но если есть способ обойти это сейчас, а почему бы и нет? Его всегда можно обновить позже, если его исправят.   -  person jAsOn    schedule 03.09.2013
comment
Мне интересно, что за баг. Кроме того, я не уверен, что использование IE11, притворяющегося IE10, избавит от ошибки.   -  person Mr Lister    schedule 03.09.2013
comment
Я уже протестировал это вручную, заставив его эмулировать IE 10, и он отлично работает. Теперь мне просто нужен способ сделать это для них.   -  person jAsOn    schedule 03.09.2013
comment
Ох, хорошо. Вы пробовали "IE=EmulateIE10" вместо IE=10?   -  person Mr Lister    schedule 03.09.2013
comment
@MrLister О, спасибо. Я не знал об этом.   -  person jAsOn    schedule 03.09.2013
comment
@MrLister спасибо. Я обновил его с помощью IE=EmulateIE10, но он не эмулирует IE 10.   -  person jAsOn    schedule 03.09.2013
comment
Тогда у меня нет ответа, извините.   -  person Mr Lister    schedule 03.09.2013
comment
@MrLister не беспокойтесь. Спасибо за попытку :)   -  person jAsOn    schedule 03.09.2013
comment
Где именно вы поставили META-тег под вопросом? Что вы видите на вкладке консоли инструмента разработчика F12 при загрузке страницы?   -  person EricLaw    schedule 04.09.2013
comment
@EricLaw Я помещаю метаданные прямо под ‹head›, и когда я смотрю в инструменты разработки, когда страница загружается и после загрузки страницы, все устанавливается на значение по умолчанию (это настройки, которые он использует, когда метаданные не используются).   -  person jAsOn    schedule 04.09.2013
comment
Предоставление активного URL-адреса или полного содержимого верхней части страницы поможет людям отладить это. Имейте в виду, что параметр X-UA-Compatible не влияет на User-Agent, отправляемый на сервер, поэтому, если ваш сервер неправильно обрабатывает это (как это делает неисправленный ASP.NET), это все равно не поможет.   -  person EricLaw    schedule 12.02.2014


Ответы (6)


Сделайте следующее:

  1. Правильная метастрока: <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE10"/> (я добавил ее чуть ниже <title>. Сохраняйте регистр, дрянной код IE также может быть чувствителен к регистру.)

  2. И действительный <!DOCTYPE... должен присутствовать в самой 1-й строке вашей страницы (без пробелов или строк перед ним).

Вы можете проверить, работает ли он, нажав F12, чтобы отобразить инструменты разработчика IE11. С левой стороны есть серая полоса, прокрутите ее вниз и выберите Эмуляция, если она показывает Режим документа: IE10, все будет в порядке!

person Marco Demaio    schedule 23.01.2014
comment
IE crappy code might be also case sensitive это хорошо. - person Mahmood Dehghan; 24.01.2016
comment
Консоль разработчика сообщила мне, что переключилась в режим эмуляции IE 10, однако веб-сайт по-прежнему не работал (как это было в режиме эмуляции IE 10, когда он был установлен вручную в консоли разработчика). Это сработало, когда я поместил тег <meta> в качестве первого тега в <head>. - person ComFreek; 19.03.2016
comment
если на веб-странице есть вспышка, она не перерисовывает эту вспышку. Вы должны нажать F12, чтобы отменить повторный рендеринг этой вспышки. В общем, нет решения для флеш-части на веб-странице. Я уже поставил мета в качестве первого тега в голове. - person Scott Chu; 15.03.2018

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

Должно сработать.

Я знаю, что это не установит IE11 в режим IE10, но, возможно, мне стоит попробовать настройку края.

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

На этой блок-схеме показано, как работает режим документа. Изображение взято с сайта Microsoft MSDN. http://msdn.microsoft.com/en-us/library/ff955275%28v=vs.85%29.aspx

Еще одна полезная ссылка на режимы документов MSDN IE http://msdn.microsoft.com/en-us/library/ff406036(v=vs.85).aspx

введите здесь описание изображения

person Xm7X    schedule 15.01.2015
comment
Ссылка modern.ie, к сожалению, больше не действительна. - person David Given; 06.03.2016

У меня была такая же проблема. Как будто тег, совместимый с x-ua, не меняет режим документа, если только он не является первым метатегом в заголовке. У меня был тег скрипта над ним.

Если вы поместите метатег, который вы пробовали, в качестве первого тега в заголовке и нажмете F12, вы увидите, что режим документа остается на 10.

person Helo    schedule 09.12.2013

Это может помочь вам установить заголовок ответа с помощью IIS: http://msdn.microsoft.com/en-us/library/ff955275(v=vs.85).aspx

person Hi10    schedule 03.09.2013
comment
Спасибо @Hi10, я только что обновил сайт с помощью IE=EmulateIE10, но он не эмулируется. - person jAsOn; 03.09.2013
comment
Если вы посмотрите на оглавление по общей ссылке. вам нужно иметь ‹!DOCTYPE› в вашем HTML..... Режим IE10 (если присутствует действительное объявление ‹!DOCTYPE›) Режим Quirks (в противном случае) - person Hi10; 03.09.2013

Я тоже пробовал, у меня не работает

<meta http-equiv="x-ua-compatible" content="IE=10">

также хорошо работает, если я вручную изменю Useragentstring в консоли F12 IE на IE10,

Я получил решение здесь ниже, и оно работает для меня, теперь мои страницы работают правильно в IE11 без каких-либо изменений в моем коде

Обратитесь к этому https://stackoverflow.com/a/20422240/2089963

person Syed Mohamed    schedule 12.02.2014
comment
Настройка X-UA-Compatible не влияет на заголовок User-Agent, отправляемый на веб-сервер, поэтому вы обнаружили, что вам нужно исправить сервер, чтобы он не обрабатывал строку User-Agent IE11 неправильно. - person EricLaw; 12.02.2014
comment
я видел, что он меняет только DocumentMode только - person Syed Mohamed; 12.02.2014

Настройка в we.config:

<system.webServer>
    <httpProtocol>
        <customHeaders>
            <clear/>

            <add name="X-UA-Compatible" value="IE=EmulateIE9"/>
        </customHeaders>
    </httpProtocol>

person ahaliav fox    schedule 27.03.2014