Analyse

Internet Explorer 10 und Windows Store-Apps mit JavaScript unterstützen den HTML5-Analysealgorithmus vollständig und setzen so die Bemühungen fort, die in vorherigen Versionen begonnen wurden, dass HTML5 in allen Browsern gleich funktioniert.Im Rahmen dieser Bemühungen werden jetzt auch Scalable Vector Graphics (SVG)-in-HTML, semantische HTML5-Elemente, das Bewahren der Struktur unbekannter Elemente und das Verbessern der Behandlung von Leerraum unterstützt.

HTML5-Analyseregeln

Die Arbeit des Windows Internet Explorer-Teams am HTML-Parser zielte darauf ab, dass HTML bei allen modernen Browsern gleich analysiert wird. Dies wurde mit HTML5 möglich, da es sich hierbei um die erste Version von HTML handelt, mit der HTML-Analyseregeln bis zum letzten Grenzfall und zur letzten Fehlerbedingung umfassend definiert werden. Auch wenn Ihr Markup ungültig ist, definiert HTML5 dennoch, wie das Markup analysiert wird, und Internet Explorer 10 befolgt diese Regeln. Die folgenden Analysebeispiele zeigen, wie einige Fälle im Rahmen dieser Verbesserungen festgelegt werden.

HTMLDokumentobjektmodell (DOM) (HTML5 + Internet Explorer 10)DOM (Windows Internet Explorer 9)

<b>1<i>2</b>

|- <b>

|- "1"

|- <i>

|- "2"

|- <b>

|- "1"

|- <i>

|- "2"

|- <i>

<p>Test 1

<object>

<p>Test 2

</object>

|- <p>

|- "Test 1\n"

|- <object>

|- "\n "

|- <p>

|- "Test 2\n"

|- <p>

|- "Test 1\n"

|- <object>

|- "\n "

|- <p>

|- "Test 2\n"

 

Interoperables innerHTML

Diese Verbesserungen gelten auch für innerHTML. Codemuster wie die folgenden funktionieren nun in Internet Explorer 10 wie erwartet.


var select = document.createElement("select");
select.innerHTML = "<option>one</option><option>two</option>";
var table = document.createElement("table");
table.innerHTML = "<tr><td>one</td><td>two</td></tr>";


Bessere Fehlerberichterstattung für Entwickler

HTML5 stellt sicher, dass Markup einheitlich analysiert wird. Dennoch sollten Entwickler sich bemühen, von Anfang an gültiges Markup zu schreiben. Gültiges Markup zu schreiben bedeutet, dass Ihre Site erwartungsgemäß funktioniert und mit älteren Browsern besser kompatibel ist.

Um Entwickler beim Schreiben von einheitlich gültigem Markup zu unterstützen, meldet Internet Explorer 10 nun HTML-Analysefehler mithilfe der F12-Entwicklungstools wie im folgenden Screenshot dargestellt.

Abbildung von F12-Entwicklungstools mit der Anzeige eines Fehlers, der auf überschneidende Tags hinweist.
Hinweis  Die Entwicklertools (F12) sind in Windows Store-Apps mit JavaScript nicht verfügbar.
 

Legacy-Features wurden entfernt

Da einige Features in früheren Versionen von Internet Explorer mit der HTML5-Analyse nicht kompatibel sind, wurden sie im IE10-Modus in Internet Explorer 10 entfernt. Sites, die in diesem Bereich auf die Legacy-Features angewiesen sind, funktionieren dennoch, wenn sie in Legacy-Kompatibilitätsmodi ausgeführt werden. So funktioniert eine Website, die heute funktioniert, auch mit Internet Explorer 10, selbst wenn die Entwickler der Website nicht über die Zeit oder die Ressourcen verfügen, die Website zu aktualisieren. (Weitere Informationen über Kompatibilitätsmodi finden Sie unter Definieren der Dokumentkompatibilität im MSDN.)

Bedingte Kommentare

Bedingte Kommentare wie der hier dargestellte können nach wie vor verwendet werden, jedoch nur für ältere Versionen von Internet Explorer. Wenn Sie zwischen aktuelleren Browsern unterscheiden müssen, verwenden Sie stattdessen die Featureerkennung.


<!--[if IE]>
This content is ignored in Internet Explorer 10 and other browsers.
In older versions of Internet Explorer, this renders as part of the page.
<![endif]-->


Elementverhalten

Die in Microsoft Internet Explorer 5.5 eingeführten und hier dargestellten Elementverhalten werden in Internet Explorer 10 im IE10-Modus nicht mehr erkannt.


<html xmlns:my>
<?import namespace="my" implementation="my.htc">
<my:element>
This parses as an unknown element in Internet Explorer 10 and other browsers.
In older versions of Internet Explorer, this markup binds to "my.htc".
</my:element>
</html>


XML-Dateninseln

Die in Microsoft Internet Explorer 5 eingeführten und hier dargestellten XML-Dateninseln werden in Internet Explorer 10 im IE10-Modus nicht mehr als XML analysiert.


<xml>
This parses as <b>HTML</b> in Internet Explorer 10 and other browsers.
In older versions of Internet Explorer, it parses as XML.
</xml>


IEBlog-Beiträge

HTML5-Analyse in IE10
Interoperable HTML-Analyse in IE9

Spezifikation

HTML5: Abschnitt 8.2

 

 

Anzeigen: