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.