In IE 8 können wir die Entwicklertools herausbringen. Dann oben gibt es einen Browser-Modus:
%Vor% Wenn also IE 7
die Seite so erscheinen lassen soll, als wäre der Browser IE 7, und
IE 8
erzwingt, dass die Seite mit dem Standard-IE 8 so dargestellt wird, wie es ist,
Was ist dann der zusätzliche IE 8 "Compatibility View"
? Was nützt es? Wenn wir bereits IE 7 haben, warum brauchen Sie diesen zusätzlichen Modus? Was macht dieser Modus, den der IE 7
-Modus nicht kann?
Der Unterschied liegt in der Zeichenfolge des Benutzeragenten.
"IE7" emuliert die User Agent-Zeichenfolge des IE7 genau und zeigt MSIE 7.0 an. "IE8" verwendet die native User-Agent-Zeichenfolge des IE8 genau und zeigt MSIE 8.0 sowie Trident / 4.0, die Version des in IE8 verwendeten Trident-Layoutmoduls.
IE8-Kompatibilität verwendet die native User-Agent-Zeichenfolge des Browsers, ändert jedoch "8.0" in "7.0".
Da Trident vor IE7 keine Versionsnummer hatte, zeigt die IE7-Zeichenfolge "Trident / x.x" nicht an. Wenn Sie also mit einer MSIE 7.0 User Agent-Zeichenfolge "Trident / 4.0" angeben, wissen Sie, dass IE8 in der Kompatibilitätsansicht ausgeführt wird. Wenn "Trident / x.x" NICHT da ist, wissen Sie, dass es entweder IE7 oder IE8 im IE7-Modus ist (nicht im Kompatibilitätsmodus).
Ich hoffe, meine Erklärung ist klar genug, und hier ist ein Beispiel für einige User-Agent-Zeichenfolgen.
IE7:
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; FDM; MS-RTC EA 2; Tablet PC 2.0; .NET4.0C; .NET4.0E)
IE8:
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; FDM; MS-RTC EA 2; Tablet PC 2.0; .NET4.0C; .NET4.0E)
IE8-Kompatibilität:
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; FDM; MS-RTC EA 2; Tablet PC 2.0; .NET4.0C; .NET4.0E)