2008-09-04 5 views
0

Mit einem XML-Prolog wieIE6 und XML-Prolog

? xml version="1.0" encoding="iso-8859-1"? > 

und einem Doctype wie

!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> 

ich meine Seite als erwartet bekommen zu machen. In IE7 wird die gleiche Seite jedoch nicht richtig dargestellt. (Ein Bereich innerhalb eines Divs ist nicht vertikal ausgerichtet.) Artikel im Internet legen nahe, dass XML Prolog + Doctype IE6 in den Quirks-Modus versetzt. Allerdings this article scheint anders zu empfehlen, obwohl es nicht die Version erwähnt (ist es 6 oder 7) es gilt, obwohl der Artikel ist datiert September 2005, die mich glauben, dass es für IE6 gilt

Ist XML Prolog + Doc-Typ Wirf IE6 in Quirks-Modus? Was ist mit IE7? Irgendwelche Empfehlungen für oder gegen den Prolog + Doctype?

Antwort

2

Das Hinzufügen eines XML-Prologs vor dem Doctype führt dazu, dass IE6 in den Quirks-Rendering-Modus versetzt wird. (See here.) In der Tat wird jedes Leerzeichen vor dem Doctype IE6 in Quirks-Modus zu werfen. Dies ist bei IE7 und höher nicht der Fall. Sie können document.compatMode (example) verwenden, damit der Browser Ihnen sagen kann, welcher Modus für das Rendern verwendet wird.

Der IE-Blogeintrag in MSDN verweist auf Änderungen, die an IE7 vorgenommen wurden, die es IE7 ermöglichen, im Standardmodus zu bleiben, wenn der entsprechende doctype verwendet wird, auch wenn ihm ein XML-Prolog vorangestellt ist.

Ich würde im Allgemeinen empfehlen, den Prolog wegzulassen und den Browser im Standardmodus zu halten; Ich denke, das wird Ihr Leben leichter machen.