Force IE 11 "Строка агента пользователя" с использованием тегов
Мой сайт разбит на IE11.
Мы все знаем, что теги HTML позволяют разработчику принудительно запускать режим совместимости IE; в примере
<meta http-equiv="X-UA-Compatible" content="IE=8, IE=9" />
отлично работал и решил проблемы визуализации для IE10.
Но на самом деле IE11, даже если Compatibility mode
установлен на IE9
, User agent string
установлен на default
, а javascript не работает.
Изменение вручную User agent string
до IE10
позволило решить мои проблемы.
Для shure я собираюсь решить реальные проблемы, которые вызывают ошибки веб-сайта, но на самом деле Мне нужен быстрый, программный способ принудительно ввести строку User agent в IE10, поскольку я не могу обратитесь к каждому пользователю.
Может кто-нибудь помочь?
Ответы
Ответ 1
Решено! Веб-сайт просто устанавливает структуру Dotnet 4.5 на сервере
На самом деле я не нашел способ заставить программно браузеры строку агента пользователя (это был исходный вопрос). Но отремонтированный веб-сайт с кодом 0.
Просто сделал много тестов и на одном сервере я узнал, что сайт работает, на другом сервере это не так.
"Хорошим сервером" был Win2012, а "плохие серверы" - Win2008. На Win2012 работал Aspnet 4.5, а на Win2008 - нет.
Я установил dotnet framework 4.5 на плохих серверах, и все началось!
Ответ 2
Я также столкнулся с той же проблемой на моем Windows-сервере Windows с .net framework 4.0 и после долгого исследования, которое я нашел ниже, полезно...
Я создал папку App_Browsers и поместил файл браузера с именем ie.browser и вставил ниже текст определения браузера и начал работать
<browsers>
<browser id="IE11" parentID="Mozilla">
<identification>
<userAgent match="Trident\/7.0; rv:(?'version'(?'major'\d+)(\.(?'minor'\d+)?)(?'letters'\w*))(?'extra'[^)]*)" />
<userAgent nonMatch="IEMobile" />
</identification>
<capture>
<userAgent match="Trident/(?'layoutVersion'\d+)" />
</capture>
<capabilities>
<capability name="browser" value="IE" />
<capability name="layoutEngine" value="Trident" />
<capability name="layoutEngineVersion" value="${layoutVersion}" />
<capability name="extra" value="${extra}" />
<capability name="isColor" value="true" />
<capability name="letters" value="${letters}" />
<capability name="majorversion" value="${major}" />
<capability name="minorversion" value="${minor}" />
<capability name="screenBitDepth" value="8" />
<capability name="type" value="IE${major}" />
<capability name="version" value="${version}" />
</capabilities>
</browser>
<!-- Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11,0) like Gecko -->
<browser id="IE110" parentID="IE11">
<identification>
<capability name="majorversion" match="11" />
</identification>
<capabilities>
<capability name="ecmascriptversion" value="3.0" />
<capability name="jscriptversion" value="5.6" />
<capability name="javascript" value="true" />
<capability name="javascriptversion" value="1.5" />
<capability name="msdomversion" value="${majorversion}.${minorversion}" />
<capability name="w3cdomversion" value="1.0" />
<capability name="ExchangeOmaSupported" value="true" />
<capability name="activexcontrols" value="true" />
<capability name="backgroundsounds" value="true" />
<capability name="cookies" value="true" />
<capability name="frames" value="true" />
<capability name="javaapplets" value="true" />
<capability name="supportsCallback" value="true" />
<capability name="supportsFileUpload" value="true" />
<capability name="supportsMultilineTextBoxDisplay" value="true" />
<capability name="supportsMaintainScrollPositionOnPostback" value="true" />
<capability name="supportsVCard" value="true" />
<capability name="supportsXmlHttp" value="true" />
<capability name="tables" value="true" />
<capability name="supportsAccessKeyAttribute" value="true" />
<capability name="tagwriter" value="System.Web.UI.HtmlTextWriter" />
<capability name="vbscript" value="true" />
</capabilities>
</browser>
</browsers>
Ответ 3
Если вы не хотите устанавливать всю .NET Framework 4.5, вы можете просто обновить .NET Framework 4.0 с помощью этого исправления от Microsoft http://www.microsoft.com/en-us/download/confirmation.aspx?id=39257
В моем случае это работало отлично.
Ответ 4
Поместите код в свой WebConfig: работайте в 2017-2018 годах
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="X-UA-Compatible" value="IE=Edge" />
</customHeaders>
</httpProtocol>
</system.webServer>