.: Daniel Melanchthon :.

Banging your head against a wall uses 150 Calories an hour.

Wohin mit dem "X-UA-Compatible"-Tag im Header?

Wohin mit dem "X-UA-Compatible"-Tag im Header?

  • Comments 3
  • Likes

Die Kompatibilität mit schon existierenden Webseiten ist für Webentwickler ein wichtiger Faktor. Internet Explorer 8 führte deshalb Dokumentkompatibilitätsmodi ein, die es ermöglichen, den Browser anzuweisen, Seiten genauso zu rendern, wie ältere Versionen dies tun würden. Dadurch können Entwickler wählen, wann sie ihre Webseiten so aktualisieren möchten, dass der einmal geschriebene Quellcode in allen modernen Browsern gleich angezeigt wird.

Auch in Internet Explorer 9 können Dokumentkompatibilitätsmodi genutzt werden. Um einen Dokumentmodus für eine Webseite festzulegen, fügt man mithilfe des META-Elements einen X-UA-kompatiblen httpequiv-Header in die Webseite ein.

ACHTUNG: Beim "X-UA-Compatible"-Header wird nicht zwischen Groß- und Kleinschreibung unterschieden, aber er muss im Header der Webseite (im Abschnitt "HEAD") vor allen anderen Elementen außer dem TITLE-Element und anderen META-Elementen stehen. Ansonsten greift der Header nicht und die Webseite wird im IE9-Dokumentenmodus angezeigt.

Folgendes Beispiel zeigt, wie man "EmulateIE7" als Dokumentkompatibilitätsmodus einstellen kann:

   1:  <html>
   2:   <head>
   3:    <!-- Mimic Internet Explorer 7 -->
   4:    <title>My Web Page</title>
   5:    <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
   6:   </head>
   7:   <body>
   8:    <p>Content goes here.</p>
   9:   </body>
  10:  </html>

Das Content-Attribut gibt den Modus für die Seite an. Vielleicht kann man aber nicht immer den Quellcode der Webseite um solch ein Meta-Tag erweitern. Daher gibt es eine zweite Möglichkeit, den Dokumentenkompatibilitätsmodus zu setzen. Man kann im Webserver einen benutzerdefinierten HTTP-Antwortheader für die gesamte Website (oder auch nur Teile davon) definieren.

Ein HTTP-Antwortheader besteht aus den Informationen, die ein Webserver der Datei beifügt, die er als Reaktion auf eine HTTP-Anforderung an den Browser sendet. Diese Informationen umfassen in der Regel Angaben zum Erstellungsdatum, der Größe und dem Typ der Datei, die zurückgesendet wird.

Für die am häufigsten genutzten Webserver Apache und IIS haben wir beschrieben, wie man den Webserver konfigurieren kann, dass sämtliche Webseiten einen benutzerdefinierten HTTP-Antwortheader gesetzt bekommen:

Der im Webserver festgelegte Standarddokumentkompatibilitätsmodus wird durch eine Meta-Tag im Header der Webseite überschrieben, da der innerhalb der Webseite festgelegte Modus Vorrang vor dem durch den Server festgelegten Modus hat.

Comments
  • Wir sollten endlich anfangen, Web-Entwickler zum Seitenupdate zu zwingen. Vor allem aber muss Microsoft zeigen, dass der IE auch endlich Webstandards erfüllen kann. Wie siehts mit CSS aus? Unter den aktuellen Browsern ist der IE mal wieder der Einzige, wo mein Blog noch immer keine runden Ecken hat.

  • Zum Seitenupdate zwingen? Wie genau stellst Du Dir das denn vor? Mit vorgehaltener Pistole etwa? Das wird so nicht funktionieren. Wenn Du wissen willst, wie es mit CSS aussieht, schau mal hier rein: CSS Compatibility and Internet Explorer . Runde Ecken gehen natürlich auch mit IE9, da muss der Fehler in Deinem Blog an etwas anderes liegen. Stichwort CSS3 border-radius Attribut. Eine Beispielimplementierung findest Du auf den Internet Explorer Test Drive-Seiten.

    Warum es auf Deinem Blog nicht funktioniert, kann ich mangels fehlendem Link nicht sagen. Da versagt leider meine Glaskugel ;-)

    VG, Daniel

  • Wenn Microsoft eine neue Version des Internet Explorers anbietet, bekomme ich vermehrt Anfragen von Partnern

Your comment has been posted.   Close
Thank you, your comment requires moderation so it may take a while to appear.   Close
Leave a Comment