Sie sind hier: Doctypes . >Doctype switching
 

Doctype Switching - die Browser in verschiedenen Render-Modi

Wenn es verschiedene Modi gibt, muss man die Browser auch in diese Modi schalten können.

Dieses "Umschalten" wird als Doctype Switching bezeichnet, weil durch die Wahl des Render-Modus
die Doctype Deklaration gesteuert wird.

Generell muss aber gesagt werden, dass die selbe DTD in den verschiedenen Browsern unterschiedliche Darstellungsmodi auslösen kann.

Eine Beispielsammlung für die praktische Auswirkung der Modi und DTD in Zusammenhang mit den Browserversionen findet man hier auf der Website von Carsten Protsch.

Wann genau welcher Browser in welchen Modus umschaltet kann man an der Tabelle von Eric Meyers Doctype Tester ablesen.

Mit XHTML 1.0 wurde der so genannte XML Prolog eingeführt.

<?xml version="1.0″ encoding="utf-8″?>

Diese XML Deklaration informiert den Browser, dass die Zeichen des folgenden Dokumentes aus der UTF-8 Spezifikation stammen. UTF-8 ist eine Untermenge des bekannten ASCII Zeichensatzes.

Da es bereits Unterschiede aufgrund des XML Prologs gibt, werden zusätzlich auch die Render-Modi mit dem Prolog getestet.

 

Bugs

Fehlerhafte Interpretation des XML Prologs

Die Einführung des XML Prologs hat leider auch einen unangenehmen Nebeneffekt mit sich gebracht.
Der Internet Explorer 6 erwartet die Dokumenttyp-Deklaration am Beginn des HTML-Codes.
Findet der Internet Explorer den Prolog als Erstes, aktiviert er den Quirks-Modus unabhängig von der im weiteren angegebenen Doctype Deklaration.
Dieses Fehlverhalten wurde von den Opera Entwickler ursprünglich übernommen, weshalb also kurz gesagt bei XML
die Browserversionen

in den Quirks-Modus schalten.

Ab Opera 7.1 wurde das Verhalten von den Entwicklern wieder korrigiert und der XML Prolog hat keinen Einfluss mehr auf den Darstellungsmodus.

Auch Microsoft hat mit seiner zukünftigen Version des Internet Explorers 7 auf dieses Fehlverhalten reagiert. Ein XML-Prolog zu Beginn des Quellcode wirft den Browser nicht mehr irrtümlicherweise in den Quirksmodus zurück.

Unabhängig vom XML Prolog gibt es einen weiteren Bug, der jedoch nur im Internet Explorer 6 auftaucht, jedoch nicht in den Versionen Opera 7.0 - 7.03.

<!– –><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

Platziert man nämlich vor die Doctype Deklaration irgendwelche Zeichen (in diesem Beispiel einen leeren Kommentar), so schaltet der IE6/win in den Quirks-Modus, unabhängig von der verwendeten Doctype Deklaration.

Im Mozilla/Firefox kann der Render-Modus auch über die Seiteneigenschaften (Menüpunkt ->Extras -> Seiteninformationen) überprüft werden.
Der Render-Modus ist unter "Anzeigemodus" im Karteireiter "Allgemein" ablesbar.

Screenshot

nach oben .