упомянутый кем-то еще двойной режим должен работать (но не , как показано в Microsoft ) и является наиболее близкой вещью, которую я видел в документации MS, которая должна работать какописано.Ниже приведено обновление, которое показывает правильную форму значения мета-атрибута.
Так что, если вы используете это:
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7; IE=EmulateIE9">
К сожалению, вы получите рендеринг IE8 как IE8 из-за нечеткой векторизации версий, которую делает x-ua-совместимый движок.См. Этот документ: Определение совместимости документов: понимание значений атрибутов содержимого в MSDN.В этом разделе вы увидите, что в первом полугодии они определяют любой вектор версии, определенный как больший, чем текущая версия браузера, будет интерпретироваться как самый большой из доступных механизмов рендеринга.Следовательно, emulateIE9 get переводится как emulateIE8.Глупый.
Затем, практически на одном дыхании, они говорят об использовании нескольких векторов версий, как в приведенном выше фрагменте кода, для исключения конкретного движка.Но из-за нечеткой логики версий это никогда не сработает.Ах, Microsoft.Сбой снова.
Причина, по которой использование CC вокруг мета не работает, заключается в том, что браузер должен был выбрать механизм рендеринга к тому времени, когда он достигает CC.Мета x-ua должна стоять перед чем-либо еще в заголовке, кроме других метасов или заголовка в соответствии с собственной документацией MS.
Если кто-то может понять это, я весь слух, потому что я отчаянно хочу исключитьIE8 от поддержки, в том числе IE9.
ВАЖНОЕ ОБНОВЛЕНИЕ :
Robocat указывает, что использование запятой вместо точки с запятой, как показывает Micrsoft, является правильным способом сделать это,Я проверил это, и это сработало для меня.Я обновил тестовую страницу .
Итак, форма правильная такая (как предложено robocat):
<meta http-equiv="X-UA-Compatible" content="IE=7, IE=9">
Форма неверная такая (как предложено Microsoft):
<meta http-equiv="X-UA-Compatible" content="IE=7; IE=9">