Sie befinden sich hier:
» 
» 
27.12.2012

Internet Explorer: Rendering-Verhalten festlegen

Kategorie(n): IE und HTML5

Ab Internet Explorer 8 (IE8) sind im Browser mehrere Rendering-Engines enthalten, d.h. Sie können die Webseiten als IE7, IE8 oder im IE8-Kompatibilitäts-Modus aufrufen. Damit soll eine gewisse Abwärts-Kompatibilität gewährleistet werden, d.h. Webseiten, die einst für den IE7 optimiert wurden, aber im IE8 noch nicht optimal dargestellt werden, können im IE7 oder IE8-Kompatibilitäts-Modus angezeigt werden. Im IE9 wurde diese Philosophie weiter geführt. Doch wie kann man sehen und beeinflussen, in welchem Modus der Browser läuft?

In welchem Modus läuft der Internet Explorer?

Die Antwort auf diese Frage erhalten Sie im Internet Explorer in den Developer Tools / Entwicklertools - zu erreichen im Menü unter Extras oder F12. In Summe gibt es zwei verschiedene Modi - den Dokument-Modus und den Browser-Modus.

Dokument-Modus festlegen

Beim Dokument-Modus wird zwischen Standard- und Quirksmode unterschieden. Einfluss darauf hat man über die DOCTYPE-Deklaration am Anfang einer jeden Webseite. Durch Festlegung eines validen DOCTYPEs schaltet die Webseite i.d.R. automatisch in den Standard-Dokument-Mode. Ausnahmen sind z.B. gravierende Fehler im Markup. Diese sollte man aber sowieso grundsätzlich beseitigen.

Browser-Modus festlegen - innerhalb einer Webseite

Im Browser-Mode kann man festlegen, als welcher Browser die Webseite vorzugsweise darstellen soll (z.B. als IE7, IE8 oder IE8 im Kompatibilitäts-Modus). Der Browser-Mode kann für jede Webseite separat über ein Meta-Tag festgelegt werden. Dies sollte vorzugsweise an erster Position im Header stehen. Mögliche Einträge sind:

  • <meta http-equiv="X-UA-Compatible" content="IE=5"/>
    Darstellung im IE5 Browser-Mode (Dokument-Mode = Quirksmode)
  • <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"/>
    Darstellung im IE7 Browser-Mode (Dokument-Mode:Standard- /Quirksmode abh. von der DOCTYPE-Deklaration)
  • <meta http-equiv="X-UA-Compatible" content="IE=7"/>
    Darstellung im IE7 Browser-Mode (Dokument-Mode:Standard)
  • <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8"/>
    Darstellung im IE8 Browser-Mode (Dokument-Mode:Standard- /Quirksmode abh. von der DOCTYPE-Deklaration)
  • <meta http-equiv="X-UA-Compatible" content="IE=8"/>
    Darstellung im IE8 Browser-Mode (Dokument-Mode:Standard)
  • <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9"/>
    Darstellung im IE9 Browser-Mode (Dokument-Mode:Standard- /Quirksmode abh. von der DOCTYPE-Deklaration)
  • <meta http-equiv="X-UA-Compatible" content="IE=9"/>
    Darstellung im IE9 Browser-Mode (Dokument-Mode:Standard)
  • <meta http-equiv="X-UA-Compatible" content="IE=Edge"/>
    Es wird immer die aktuellste Version der Rendering-Engine genommen.

Browser-Modus festlegen - serverseitig

Als Alternative können Sie diese Festlegung auch serverseitig über ein Headerattribut treffen. Die Festlegung innerhalb einer Webseite hat zwar eine höhere Priorität, als die serverseitige Festlegung. Allerdings kann man serverseitig die Einstellungen effizienter gestalten. Hier ein Beispiel, wie man die Festlegung für den Apache in der .htaccess Datei konfigurieren kann:

<ifModule mod_headers.c>
  <filesMatch "\\.(html)$">
    BrowserMatchNoCase "msie" msie=1
    Header set X-UA-Compatible "IE=8" env=msie
  </filesMatch>
</ifModule>

Der Vorteil dieser Variante ist es, dass die Headerinformation nur mitgeschickt wird, wenn es sich laut Useragent wirklich um einen Internet Explorer handelt. In allen anderen Fällen wird diese Information nicht mit gesendet. Somit erspart man den anderen Browsern (Firefox, Chrome, Safari, etc.) unnützen Overhead. Des Weiteren habe ich die Headerinformation auf html-Dateien beschränkt. Somit wird diese Headerinformation auch nicht unnützerweise für Stylesheets und Javascript-Dateien mitgeliefert.

Fazit

Dies ist eine einfache und wirkungsvolle Möglichkeit, die Webseiten korrekt darstellen zu lassen, sofern die Seiten bei einer neu heraus gekommenen Version des Internet-Explorers eigentlich noch nicht korrekt dargestellt werden. Trotzdem sehe ich diese Möglichkeit eher nur als temporäre Übergangslösung. Ich denke, bei entsprechender Sorgfalt sollte es kein Problem sein, dass man seine Webseiten browserunabhängig gestaltet - auch wenn der Internet Explorer manchmal seine Eigenheiten hat. Falls Sie sehen möchten, wie Ihre Webseiten in den verschiedenen Versionen des Internet Explorer aussehen, kann ich Ihnen den netrenderer empfehlen.

Autor: Mein Name ist Harry Kämpf und ich bin seit vielen Jahren als Projekt Manager im Webumfeld tätig. Auf diesen Erfahrungen basieren die Tipps zur Webseitengestaltung. Ich schreibe gern über Webthemen, nehme aktuelle Trends auf und gebe bei Bedarf kompetente Beratung. Mehr Infos können Sie auf ueber-mich.html nachlesen.

54