Wird die X-UA-Kompatiblen http-header tatsächlich für IE9?

Arbeite ich an einem web-Produkt, das möglicherweise gehostet werden, die sich als eine intranet-site. Ich bin auf der Suche nach einem programmatischen Weg, um IE9 vor dem Abrutschen in die IE9 Kompatibilitätsansicht-browser-Modus, obwohl 'Anzeigen Intranetsites in Kompatibilitätsansicht Anzeigen' kann sein auf.

Teste ich diese html-Seite:

<!DOCTYPE HTML>

<html>
    <head>
        <meta http-equiv="X-UA-Compatible" content="IE=9" />
        <title>Company</title>
    </head>
    <body>
    </body>
</html>

Ich habe diese in der IIS-config:

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

als hier empfohlen: https://stackoverflow.com/a/5887546, und überprüft den response-Header in IE9 und siehe:

X-UA-Compatible     IE=Edge

Aber die Seite noch setzt der browser in der Kompatibilitätsansicht im browser-mode.

Zeigt die Konsole:

HTML1202: http://intranet-site/test.html is running in Compatibility View because 'Display intranet sites in Compatibility View' is checked. 
test.html

Gibt es eine ähnliche Frage hier: https://stackoverflow.com/a/3726605/1279516, in denen ein Kommentar von Jacob auf die gewählte Antwort deutet darauf hin, dass im IE9, es gibt nichts, was Sie tun können, um das überschreiben der 'Display Intranetsites in Kompatibilitätsansicht Anzeigen" - Einstellung. Aber sein Kommentar ist der einzige Ort, den ich gefunden habe, die Erwähnung dieses. Kann das jemand bestätigen oder dementieren, dass die Aussage?

Gibt es etwas, das ich versuchen kann? Ich sollte nicht zu sagen alle Kunden, die Bereitstellung unseres Produkts zu deaktivieren Sie die "Display Intranetsites in Kompatibilitätsansicht Anzeigen' browser-Einstellung für alle Ihre Nutzer.

  • Die Dokument-Modus sehen Sie in den IE-Entwicklungs-tools für Ihre Website?
  • Der Dokument-Modus ist eigentlich IE9-standards. Sorgt dafür, dass das rendering erfolgt in den standards-Modus, aber nicht, dass alle javascript-Funktionen verfügbar sind, richtig?
  • Nein, eigentlich sollten Sie überprüfen, nur Dokument-Modus. Browser-Modell ist der erste parameter, der bestimmt, wie Dokument-Modus berechnet werden soll (standardmäßig). Also, wenn du korrekte Dokument-Modus, dann sollte alles wie erwartet funktionieren.
  • Die Funktion, die ich dachte, dass ich fehlte .querySelector() - nur verfügbar, wenn Dokument-Modus ist der IE8-standards oder höher. Ein kurzer test Hinzugefügt, um den html-bestätigt .querySelector ist auch verfügbar, wenn der browser-Modus ist die IE9 Kompatibilitätsansicht (IE8 die Kompatibilitätsansicht im IE8). <body> <script type="text/javascript"> var bodyEl = document.querySelector('body'); debugger; </script> </body>
InformationsquelleAutor jcairney | 2012-03-20
Schreibe einen Kommentar