1

Я использую режим совместимости в IE11. Я использую ниже код для установки режима совместимости:IE11 User Agent String issue

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

Теперь, когда я запускаю свою веб-страницу, некоторые функции ломаются. После установки User Agent String в «Internet Explorer 8» все работает нормально. Это означает, что строка пользовательского агента неправильно настроена в совместимом режиме.

Теперь вопрос заключается в том, как я могу заставить свой код использовать строку пользовательского агента IE8. Я поставил точку отладки в код и проверил свойство navigator.useragent, он показывает строку агента пользователя IE8, но в Fiddler отображается строка пользовательского агента IE11.

Я смущен, почему он не использует IE8 UA в режиме совместимости. Я работаю над изменением кода для совместимости с IE11, но это может занять некоторое время. Таким образом, найденное с использованием x-ua-compatible может быть быстрым решением. Пожалуйста, порекомендуйте.

Заранее спасибо.

+0

какая часть вашего кода ломается? вы можете поделиться некоторыми –

+0

, есть один URL-адрес для некоторых приложений с сервера. Если я передаю строку агента пользователя IE8, она работает нормально. Эти приложения загружают некоторые DLL. У меня нет доступа к ним. Можем ли мы динамически установить строку User Agent? Если я использую режим совместимости IE8, то какая строка IE7 User Agent должна пройти? – Nalu

+0

Нужно ли добавлять дополнительные теги для режима совместимости? – Nalu

ответ

0

emulation of IE8 in Internet Explorer 11 is broken. Установка режима с использованием <meta http-equiv="x-ua-compatible" content="IE=8"> - это мера остановки. Включение compatibility view для вашего сайта может помочь. Большинство проблем связаны с CSS и JavaScript, в частности с меню опрокидывания и выпадающего меню.

У вас есть правильное решение: вытащите IE8 конкретный/сломанный код и перекодируйте для современных браузеров.

Microsoft have specifically changed the user agent string, чтобы переместить программистов в сторону от обнюхивающего агента пользователя. Microsoft полагает, что код должен быть написан до detect features, а не версий браузера.

Начиная с Windows Internet Explorer 8, токен версии, указанный в строке пользовательского агента, может не отражать фактическую версию браузера. Если для веб-страницы включено представление совместимости, а режим браузера установлен на более раннюю версию, торанд версии сообщает о более ранней версии.

«Как я могу заставить свой код использовать строку пользовательского агента IE8». Это зависит от того, как вызывается ваш код и где и как происходит эта проблема. IE будет отмечать только x-ua-compatible, если это первый тег после или. Принуждение режима IE8 в IE11 не волшебным образом решает проблемы из-за неправильного эмуляции IE8 IE8.

Один из вариантов - не использовать IE11. Пребывание на IE10 позволяет избежать многих проблем. Другой вариант - использовать другой браузер. Браузер Firefox или Chrome работает намного лучше, чем IE11.

Похожие:

Обратите внимание, что IE11 на Windows 10 отличается от IE11 на Windows 7 и 8. Windows 10 придет новый Edge browser.