Mrz 20 2009

prototype.js und Internet Explorer 8

Gestern abend hat Microsoft sein Final Release des Internet Explorer 8 veröffentlicht. Da ich in meinen Website-Projekten häufig das JavaScript-Framework Prototype nutze, werden diese zurzeit im IE 8 fehlerhaft angezeit.

Abb 1: Fehlermeldung im IE 8

Abb 1: Fehlermeldung im IE 8

Der Internet Explorer 8 bringt nun netterweise einen sogenannten Kompatibilitätsmodus mit, mit dem nicht IE 8 konforme Webseiten angezeigt werden können. Als Entwickler hat man die Möglichkeit, diesen Modus wie folgt zu aktivieren.

Entweder schickt man einen HTTP-Header (in meinem Beispiel mit php),

1
<?php header("X-UA-Compatible: IE=EmulateIE7"); ?>

oder aber man nutzt eine Meta-Tag Beschreibung:

1
<meta http-equiv="X-UA-Compatible"  content="IE=EmulateIE7">

Der Vorteil der Lösung über einen HTTP-Header ist, dass dies für die gesamte Webseite eingesetzt werden kann, wohingegen die Lösung über den Meta-Tag für einzelne spezielle Unterseiten genutzt wird.

Hinweis: Der X-UA-Compatible Tag und HTTP-Header überschreiben jeglichen DOCTYPE. Der Modus über den Meta-Tag überschreibt den des HTTP-Headers. Wird der HTTP-Header für eine Webseite genutzt, kann für bestimmte Unterseiten die Anzeige im IE8-Modus mit der Nutzung des folgenden Tags erfolgen:

1
<meta http-equiv="X-UA-Compatible"  content="IE8">