dedlfix: Warum werden Kommentare geparst?

Beitrag lesen

Tach!

gibt es einen logischen Grund weshalb Kommentare geparst werden?

Nicht wie du dir das vorstellst. Zuerst kommt der HTML-Parser und findet das <script>-Tag. Daraufhin sucht er sich das nächste </script> und ignoriert alles dazwischen. Javascript- und Kommentare anderer Sprachen kennt er nicht und weiß deshalb auch nicht, dass du da gern was ausgeklammert sehen möchtest. Das weiß erst der Javascript-Parser

Mögliche Abhilfe wäre die Klammern durch Entsprechungen zu ersetzen

Es gibt diverse Möglichkeiten. Allem voran das Auslagern in eine eigene Datei umgeht diese und andere Hürden. Ansonsten darf ein </script>, das nicht das Ende des Bereiches kennzeichnet, nicht als solches dastehen. Je nach Kontext, in dem es im Javascript-Code steht, kann man es entsprechend maskieren. Im Kommentarbereich kannst du dir etwas beliebiges einfallen lassen. HTML-Kommentare oder ein CDATA-Bereich müsste auch helfen.

Ach ja und noch was, warum tritt die Problematik nur bei eingebundenen Dateien auf, nicht aber wenn der gleiche Inhalt von extern kommt?

Weil es dann nicht der HTML-Parser zu Gesicht bekommt.

dedlfix.