test online mac internet ie7 emulator emulador javascript internet-explorer cross-browser compatibility internet-explorer-11

javascript - online - Forzar IE 11 "cadena de agente de usuario" utilizando etiquetas



test internet explorer (4)

Mi sitio web está roto en IE11.

Todos sabemos que las etiquetas HTML permiten al desarrollador forzar el modo de compatibilidad de IE; por ejemplo

<meta http-equiv="X-UA-Compatible" content="IE=8, IE=9" />

Funcionó muy bien y resolvió los problemas de visualización para IE10.

Pero en realidad en IE11, incluso si el Compatibility mode está configurado en IE9 , User agent string está configurada en default y el javascript no funciona. Cambiar manualmente User agent string a IE10 solucionó mis problemas.

Por supuesto, voy a resolver los problemas reales que causan errores en el sitio web, pero en realidad necesito una forma rápida y programática de forzar la "cadena de agente de usuario" a IE10 , ya que no puedo contactar a todos los usuarios.

¿Alguien puede ayudar?


Ponga el código en su WebConfig: Trabajando en 2017-2018

<system.webServer> <httpProtocol> <customHeaders> <add name="X-UA-Compatible" value="IE=Edge" /> </customHeaders> </httpProtocol> </system.webServer>



También enfrenté el mismo problema en mi servidor Windows 2003 con .net framework 4.0 y, después de una larga investigación, encontré que lo siguiente es útil ...

Creé la carpeta App_Browsers y puse un archivo de navegador llamado ie.browser y pegué el texto de definición del navegador que se encuentra debajo y comenzó a funcionar.

<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>


Resuelto El sitio web está listo simplemente instalando Dotnet framework 4.5 en el servidor

En realidad, no encontré una forma de forzar a los navegadores mediante programación en forma de cadena de agente de usuario (esta era la pregunta original). Pero el sitio web reparado con código 0 ..

Simplemente hice muchas pruebas y en un servidor descubrí que el sitio web estaba funcionando, en otro servidor no.

El " buen servidor " era un Win2012, y los " malos servidores " eran Win2008. En Win2012 se estaba ejecutando Aspnet 4.5 y en Win2008 no.

También instalé dotnet framework 4.5 en servidores malos , ¡y todo comenzó a funcionar!