Der Martin: Kommentare in HTML wo erlaubt?

Beitrag lesen

Hallo Rolf,

<script>
let a=7;
<!-- a = a + 1; -->
console.log(a);
</script>

gibt 7 aus.

das überrascht mich auf den ersten Blick, auf den zweiten dann aber doch nicht. Der HTML-Parser läuft anscheinend als erster drüber und schmeißt die Kommentare weg. Auch innerhalb des script-Elements.

Allerdings nur bei einem Script, das direkt im HTML-Dokument steht. In einem externen Javascript müsste das einen Syntax Error schmeißen.

<script>
console.log("Hallo -->");
</script>

noch brav ein Hallo --> ausgibt, führt

<!-- 
<script>
console.log("Hallo -->");
</script>
--> 

ins erwartbare Chaos. Die Ausgabe ist "); </script> -->.

Das hätte ich erwartet. Aber das ist nicht die Ausgabe an der Konsole, sondern der HTML-Output im Browserfenster.

Aber selbst dies hier geht nicht:

<!-- 
<script>//<![CDATA[
console.log("Hallo -->");
//]]>
</script>
--> 

weil innerhalb eines Kommentars kein CDATA eröffnet werden kann.

Okay. Auf die Idee bin ich nicht gekommen.

Live long and pros healthy,
 Martin

--
Für welches Tier mühen wir uns am meisten ab? - Für die Katz'.