molily: Ein mit Javascript erstelltes Objekt mit Javascript ansprechen

Beitrag lesen

Hallo,

Allerdings ist der Code problematisch, wenn er in einem script-Element im Hauptdokument steht und nicht in einer ausgelagerten Javascript-Ressource. Dann ist nämlich beim '</' von '</span' das gesamte script-Element zu Ende, und nachfolgender Code wird nicht mehr ausgeführt.

Diese Regel hat für HTML 4 und SGML-Parser gegolten:

http://www.w3.org/TR/REC-html40/types.html#h-6.2
http://www.w3.org/TR/REC-html40/appendix/notes.html#notes-specifying-data

Browser hatten aber nie SGML-konforme Parser und diese Regel wurde m.W. nicht umgesetzt.

Für HTML5-Parser ist m.W. erst beim </script> ist das script-Element zuende. Das kodifizierte die schon vorher gängige Praxis.

http://www.w3.org/TR/html5/syntax.html#script-data-state
http://www.w3.org/TR/html5/syntax.html#script-data-end-tag-open-state
http://www.w3.org/TR/html5/syntax.html#script-data-end-tag-name-state

Entscheidend ist hier
»U+003E GREATER-THAN SIGN (>)
If the current end tag token is an appropriate end tag token, then switch to the data state and emit the current tag token.«

</irgendwas-anderes-als-script> ist kein appropriate end tag token für <script>.

Siehe auch Live DOM Viewer.

Mathias