So erhalten Sie den Browser "Document Mode"

8

Ich entwickle eine Art JavaScript-Bibliothek. Und ich verursache das Problem, dass ich einige spezifische Probleme habe für: Browser: IE8 / IE9 und Dokumentmodus: IE7 Ich habe die Lösung gefunden, aber ich möchte sie nicht in allen Situationen verwenden und möchte sie nur verwenden, wenn ich die oben beschriebene Situation habe. Ich weiß, dass ich Browser erkennen kann mit:

%Vor%

Aber ich erkenne nur die Browser-Version, aber nicht den Dokument-Modus, und ich möchte meine Lösung nicht verwenden, wenn ich zum Beispiel den Browser-Modus IE8 und den Dokument-Modus IE 8 habe. Gibt es eine Möglichkeit, den Seitendokumentmodus in IE zu erhalten? Vielen Dank im Voraus.

    
Mikhail 29.10.2012, 11:46
quelle

2 Antworten

27

Sie können document.documentMode verwenden, um genau den Dokumentmodus zurückzugeben, den IE verwendet.

Das bedeutet, dass wenn Sie Ihren Browser-Modus auf IE9 setzen, aber Ihr Dokument-Modus auf IE8, document.documentMode == 8 zurückgibt (während die userAgent-Zeichenfolge immer noch als IE9 angezeigt wird). Dies ist besonders nützlich, wenn Ihr JS Styling-Änderungen enthält, da es der Dokumentmodus ist, der bestimmt, wie der IE eine Seite darstellt, nicht den Browser-Modus. Der Kompatibilitätsmodus ändert nur den Dokumentmodus (normalerweise IE7).

In den wenigen Fällen, die ich benötigt habe, habe ich so etwas verwendet, um IEs zu unterscheiden:

%Vor%

Ich hoffe, dass das einigen hilft.

    
Sam Thornton 05.12.2012, 21:15
quelle
1

Ich weiß nicht, wie ich den Dokumentmodus 1 abrufen kann, aber es kann sinnvoll sein, das Problem auf eine grundlegendere Weise anzugehen. Nehmen wir an, Sie wollten document.querySelector in Ihrem Skript verwenden. Das würde in IE8 / Dokumentmodus IE7 Standards fehlschlagen. Also wäre eine zusätzliche Überprüfung auf das Vorhandensein von document.querySelector selbst die Lösung:

%Vor%

1 Es wurde eine Möglichkeit gefunden, nach dem Dokumentmodus zu suchen: Verwenden Sie document.documentMode . Es gibt eine ganze Zahl zurück (also 7 für IE7-Standards im Dokumentenmodus), 5 für Quirks mode . Es wird undefined für nicht IE Browser sein.

    
KooiInc 29.10.2012 12:22
quelle