In einer domänengesteuerten Umgebung stelle ich fest, dass der Kompatibilitätsmodus auf bestimmten Clients (winXP / Win7, IE8 / IE9) ausgelöst wird, selbst wenn wir X-UA-Tags, eine! DOCTYPE-Definition und die Antwort "IE = Edge" bereitstellen Überschriften. Bei diesen Clients ist das Kontrollkästchen "Intranetsites in Kompatibilitätsansicht anzeigen" aktiviert. Welches ist genau das, was ich zu überschreiben versuche.
Im Folgenden finden Sie die Dokumentation, mit der ich versucht habe zu verstehen, wie der IE den Kompatibilitätsmodus tatsächlich auslöst.
http://msdn.microsoft.com/en-us/library/ff406036%28v=VS.85%29.aspx
http://blogs.msdn.com/b/ie/archive/2009/02/16/just-the-facts-recap-of-compatibility-view.aspx
Websitebesitzer haben immer die Kontrolle über ihren Inhalt. Websitebesitzer können das X-UA-kompatible Tag verwenden, um absolut aussagekräftig zu sein, wie ihre Website angezeigt werden soll, und Seiten im Standardmodus IE7-Standards zuzuordnen. Die Verwendung des X-UA-kompatiblen Tags überschreibt die Kompatibilitätsansicht auf dem Client.
Google für "Definieren der Dokumentkompatibilität" , leider lässt mich die SPAM-Engine nicht mehr als 2 URLs posten.
Dies ist eine ASP .NET
Web-App und enthält die folgenden Definitionen auf der Masterseite:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
</head>
und web.config
<system.webServer>
<httpProtocol>
<customHeaders>
<clear />
<add name="X-UA-Compatible" value="IE=Edge" />
</customHeaders>
</httpProtocol>
</system.webServer>
Ich habe Fiddler verwendet, um zu überprüfen, ob der Header tatsächlich korrekt injiziert wird.
Nach meinem Verständnis sollte ich mit diesen Einstellungen die Browsereinstellung "Intranetsites in Kompatibilitätsansicht anzeigen" überschreiben können. Aber je nach Client habe ich festgestellt, dass einige von ihnen immer noch den Kompatibilitätsmodus auslösen. Es scheint auch eher auf der Computerebene eine Richtliniengruppeneinstellung zu sein, da ich unterschiedliche Ergebnisse erhalte, selbst wenn ich auf denselben Clients dieselben Anmeldeinformationen verwende.
Das Deaktivieren des Kontrollkästchens Einstellungen für die Kompatibilitätsansicht reicht aus. Der eigentliche Zweck besteht jedoch darin, sicherzustellen, dass die App unabhängig von den Clienteinstellungen genauso gerendert wird.
Irgendwelche Gedanken und was könnte mir möglicherweise fehlen? Ist es überhaupt möglich, den IE zu zwingen, die Seiten immer zu rendern, ohne den Kompatibilitätsmodus auszulösen?
tausend Dank,
Jaume
PS: Die Site befindet sich derzeit in der Entwicklung und ist natürlich nicht in der Kompatibilitätsliste von Microsoft enthalten, aber ich habe sie auch für alle Fälle überprüft.
Google für "Grundlegendes zur Liste der Kompatibilitätsansichten" . Leider lässt mich die SPAM-Engine nicht mehr als 2 URLs veröffentlichen.
Wenn Sie meinen Header auf Folgendes ändern, wird das Problem behoben:
quelle
Update: Weitere nützliche Informationen Was macht <meta http-equiv = "X-UA-kompatibel" content = "IE = edge">?
Vielleicht kann Ihnen diese URL helfen: Aktivieren von Browsermodi mit Doctype
Bearbeiten: Heute konnten wir die Kompatibilitätsansicht überschreiben mit:
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" />
quelle
<meta http-equiv="X-UA-Compatible" content="IE=8" />
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" />
IE=Edge
da es um die Deaktivierung des Kompatibilitätsmodus geht.Für Node / Express-Entwickler können Sie Middleware verwenden und diese über den Server einstellen.
quelle