Ungültiges Markup in Browsern

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Der Artikel soll zeigen wie sich ungültiges HTML Markup auf die verschiedenen Browser auswirkt. Im Internet Explorer kann es zu einem Zyklus kommen der JavaScript in eine Endlosschleife schickt.
    Stellt euch mal folgenden HTML Code vor: <x> <y> </x> </y>
    Der Code ist ungültig!

    Ja nach Bedeutung der Tags werden die meisten Browser einen identischen Inhalt zeigen. Meistens kommt es zu keinen Problemen bei der Darstellung.
    HTML Markup wird übrigens als Baum abgelegt. An der Spitze des Baumes kommt das html Tag und von da an geht es kontinuierlich runter.

    Ich habe einen netten Artikel gefunden, wo bewiesen ist, dass es bei Markup Fehlern zumindest im Internet Explorer nicht mehr so ist: ln.hixie.ch/?start=1037910467&count=1
    easy-coding.de/Attachment/775/…35ca44209b97ab4c0f218faa9

    Wie hier zu sehen ist kann man den Pfad "address" > "em" > "body" > "d" > "address" beliebig oft durchqueren. Man ist also in einer Schleife - einem Zyklus gefangen.
    Gerade wenn man mit JavaScript über die Knoten iteriert oder eine XPATH Implementierung verwendet, landet man bei falschem DOM schnell in einer Endlosschleife.
    Dass die Endlosschleife nicht in allen Browsern nachzuvollziehen ist, ist besonders trickreich.

    Wie testet man seine Seite auf gültiges Markup?
    Es gibt Validatoren die eure Seite auf Herz und Nieren prüfen. Hier ist der offizielle Testapparat: validator.w3.org/
    Bilder
    • ie-markup-dom-cycle.png

      20,82 kB, 460×260, 858 mal angesehen

    8.430 mal gelesen