Update: auch hier ist der Inhalt nach wie vor relevant und wurde von mir bis IE11 erweitert.Update2: Für eine nahezu 100%ige Kompatibilität zu IE8 sollte sich jeder den Enterprise Mode for Internet Explorer 11 anschauen, da dies viele Probleme und Roadblocks beseitigt!
Der Kompatibilitätsmodus wurde für den Internet Explorer 8 eingeführt, damit existierende, für IE7 erstellte Webseiten ohne Aufwand/Veränderungen weiterbetrieben werden können.
Das zu wissen beruhigt, aber ohne zu wissen, wie dieses Feature effektiv konfiguriert werden kann, hilft das Wissen über die Existenz wenig.
Für den “Otto-Normal” User bieten sich zwei Möglichkeiten den Kompatibilitätsmodus (dauerhaft) zu aktivieren:
Für den erfahrenen User bietet sich noch eine andere Möglichkeit kurzfristig/flüchtig das Rendering zu beeinflussen:
Die Developer Tools (F12 oder Extras->Entwicklertools / Tools->Developer Tools):
Natürlich kann es auch für Programmierer und Applikations/Serverbetreiber notwendig sein, diese Settings für ihre Seite/Applikation vorzugeben.
Auch hierfür stehen zwei Möglichkeiten zur Verfügung (nach Prioritäten geordnet ):
Zu beachten gilt :
Last but not least gibt es natürlich auch die Möglichkeit das Verhalten mittels einer Group Policy vorzugeben:
Use Policy list of Internet Explorer 7 sites (Maschine)
Use Policy list of Internet Explorer 7 sites (User)
Wichtig bei der Verwendung der Policy sind folgende Dinge:
FYI: Die konfigurierte Liste landet in folgendem Registrykey: HKCU\Software\Policies\Microsoft\Internet Explorer\BrowserEmulation\Policylist und enthält pro konfigurierter Domain einen REG_SZ Wert:
(Anmerkung: die Usersettings über das GUI werden anders gespeichert. Da eine manuelle Änderung hier nicht supportet ist, werden wir darauf nicht näher eingehen.)
http://blogs.msdn.com/b/askie/ http://blogs.msdn.com/b/ie/archive/2008/08/27/introducing-compatibility-view.aspx http://blogs.msdn.com/b/mikeormond/archive/2008/09/25/ie-8-compatibility-meta-tags-http-headers-user-agent-strings-etc-etc.aspx http://blogs.msdn.com/b/ie/archive/2010/06/16/ie-s-compatibility-features-for-site-developers.aspx http://gpsearch.azurewebsites.net/Default.aspx?PolicyID=1807
Klasse Artikel! Vielen, vielen Dank! Hat mir bei einem aktuellen Problem wunderbar unterstützt.
Kleine Anmerkung allerdings: Der Registrykey liegt unter HKLM, nicht HKCU.
Kompliment für den durchaus poetischen Satz:
"Das zu wissen beruhigt, aber ohne zu wissen, wie dieses Feature effektiv konfiguriert werden kann, hilft das Wissen über die Existenz wenig."
:-)
@Joel: Es gibt den Wert in beiden Registry Bereichen, also sowohl Maschinen als auch User basiert! Da es hier nur "an" oder "nicht vorhanden" gibt, kommen sich die Settings auch nicht in die Quere. D.h. wenn ein Eintrag in einem der beiden Bereiche vorhanden ist, dann wird diese Webseite entsprechend im Compat Mode angezeigt. Ich habe im Artikel den Link auf die HKCU Policy noch ergänzt, danke für den Hinweis.
eine Rückfrage zur administrativen Verwaltung "Es müssen Domainnamen und nicht Server oder Subdomainnamen angegeben werden, sprich “microsoft.com” habe ich:
Ist das wirklich so?
Im Test ist mir aufgefallen, dass hierbei sehr wohl die Syntax "server.domain.de" akzeptiert und auch unterschieden wird.
--> Server.domain.de läuft im kompatiblen Modus,
--> Domain.de weiterhin nativ.
Testumgebung war Windows 8 mit Internet Explorer 10 (Patchstand November 2013)
Hallo Herr Lengsfeld, seit IE9 funktioniert dies auch mit Subdomänen. Ich habe den Post entsprechend angepasst. Danke für den Hinweis.
noch eine Rückfrage: funktioniert die Policy "Include updated website lists from Microsoft" (MSCompatibilityMode=1) noch und gibt es weiterhin Updates? wo?
Die Policy funktioniert noch und auch die Updates werden noch gepflegt. Insb. weil sich mit der Zeit die Webseiten auf der Liste weiterentwickeln und ggf. gar nicht mehr auf der Liste verbleiben wollen.VGStephanus
Ist der Kompatibilitätsmodus auf Dauer eine Lösung für eine Webseite? Gibt es hierbei keine Einschränkungen auf Performance oder Funktionalität? Oder sollte eine Webseite nicht besser an IE 10 "angepasst" werden?
Hallo Stefan Andres, nein, der Kompatibilitätsmodus sollte keine dauerhafte Lösung sein (auch wenn manche Webseiten das so betreiben). Die dauerhafte Lösung sollte sein die Anwendungen in Zukunft standardkonform zu bauen, sprich auf verabschiedete HTML4/5 Standards zu setzen. Unser Commitment ist, dass eine Webseite, die den W3C Validator Check (HTML+CSS) ohne Fehler besteht, auch korrekt dargestellt wird. Uns ist daran gelegen, dass eine Webseite keinerlei "Sonderbehandlung" für einen Browser benötigen sollte. Aus dem Grund wurde z.B. auch das UserAgent Verhalten des IE11 im Standards Modus verändert. D.h. auch beim Zukauf von Anwendungen sollte darauf geachtet werden, dass diese Standardkonform sind, um sich selber den "Schmerz" für zukünftige Versionen zu ersparen. VG Stephanus
Hallo, es funktioniert auch test.de/dir (getestet mit IE9): alles in *.test.de/dir und darunter wird im Kompatibilitätsmode angezeigt, alles in *.test.de und darunter im IE9-Mode. Ist das offiziell unterstützt?
Im IE11 (Windows 8.1/U1) konnte ich das nicht nachstellen. Es war immer angedacht, dass dies nicht für Directories funktionieren sollte. Wenn es im IE9 tatsächlich unterstützt worden war, dann war dies außerhalb der Spezifikation und ist damit auch weiterhin "nicht supportet". VG Stephanus
Danke für den Artikel!!!!!
Hallo Herr Schulte, Ich vermisse in dem Artikel die Information wie sich Manuelle, Programmtische und Administrative Konfiguration zueinander verhalten. Gibt es hier auch Prioritäten? Wenn eine Gruppenrichtline zum Beispiel intranet.local aufnimmt dann wird diese ja im IE7 Mode angezeigt. Die Webseite selber liefert aber ein " " mit aus. Welcher Modus wird dann benutzt?
Die Regel dazu ist: das granularste/speziellste Setting gewinnt. Beispiel: Seite ist in local Intranet und es ist konfiguriert dies in IE7mode zu nutzen, der Server sendet den http Header für "compatibleIE8" und die Seite hat den Meta Header "edge", dann wird das Setting der Seite (also Edge) verwendet, obwohl die beiden anderen Settings auch zutreffend wären, aber eben von dem speziellsten Setting überschrieben werden. Hoffe das ist so klar geworden.