Принуждаване на 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 Developer Tool, докато страницата се зарежда?   -  person EricLaw    schedule 04.09.2013
comment
@EricLaw Поставям мета директно под ‹head› и когато гледам в Dev tools, докато страницата се зарежда и след като страницата се зареди, всичко е зададено на Default (които са настройките, които използва, когато не се използва мета).   -  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... трябва да присъства на първия ред на вашата страница (без интервал или редове преди него)

Можете да проверите дали работи, като натиснете 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