web-dev-qa-db-de.com

Macht IE 11 "Benutzeragentenzeichenfolge" unter Verwendung von Tags

Meine Website ist in IE11 defekt. 

Wir alle wissen, dass HTML-Tags es Entwicklern ermöglichen, den Kompatibilitätsmodus IE zu erzwingen; zum Beispiel

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

hat super funktioniert und die Visualisierungsprobleme für IE10 gelöst.

Aber eigentlich im IE11, auch wenn Compatibility mode auf IE9 eingestellt ist, User agent string auf default gesetzt ist und Javascript nicht funktioniert . Das manuelle Ändern von User agent string in IE10 hat meine Probleme gelöst.

Sicher, ich werde die echten Probleme lösen, die Website-Fehler verursachen, aber eigentlich Ich brauche eine schnelle, programmatische Methode, um "User Agent-Zeichenfolge" auf IE10 zu setzen , da ich nicht jeden Benutzer kontaktieren kann.

Kann jemand helfen?

18
Emanuele Greco

Gelöst! Die Website wird gerade installiert, Dotnet Framework 4.5 wird auf dem Server installiert.


Eigentlich habe ich keine Möglichkeit gefunden, programmgesteuerte Browser-User-Agent-Zeichenfolgen zu erzwingen (dies war die ursprüngliche Frage). Aber Website mit 0-Code repariert .. 

Ich habe gerade viele Tests gemacht und auf einem Server habe ich herausgefunden, dass die Website funktioniert, auf anderen Servern nicht. 

Der "good-Server" war ein Win2012 und "bad-Server" waren Win2008. Unter Win2012 lief Aspnet 4.5 und unter Win2008 nicht.

Ich installierte Dotnet Framework 4.5 auch auf bad-Servern, und alles begann zu funktionieren!

5
Emanuele Greco

Ich hatte auch das gleiche Problem in meinem 2003 Windows Server mit .net Framework 4.0 und nach langer Recherche fand ich das unten hilfreich.

Ich erstellte den Ordner "App_Browsers" und legte eine Browser-Datei mit dem Namen ie.browser und fügte den folgenden Browser-Definitionstext ein. Nun begann der Vorgang

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

Wenn Sie nicht das gesamte .NET Framework 4.5 installieren möchten, aktualisieren Sie einfach das .NET Framework 4.0 mit diesem Fix von Microsoft http://www.Microsoft.com/en-us/download/confirmation.aspx ? id = 39257 In meinem Fall hat das perfekt funktioniert.

1
Ion Gritco

Fügen Sie den Code in Ihre WebConfig ein: Arbeiten in 2017-2018

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