@@molily:
Man muss CDATA nicht verstecken, weil es ältere Browser gibt, sondern weil man XHTML als text/html (sogenanntes HTML-kompatibles XHTML) ausliefert.
??
Ich glaube, da war cross mit „Da nun aber einige ältere Browser diesen Tag ["<![CDATA[" und "]]>"] nicht verstehen (und Javascript-Fehler werfen) wird es für sie einfach auskommentiert“ näher dran.
Man muss "<![CDATA[" und "]]>" auskommentieren, weil der Inhalt des 'script[@type="text/javascript]'-Elements als JavaScript interpretiert wird und "<![CDATA[" und "]]>" kein JavaScript-Code ist.
Wenn die JavaScript-Engines einiger Browser bei nicht auskommentierten "<![CDATA[" und "]]>" keinen Fehler werfen, dann ist das deren Fehlertoleranz zu verdanken.
Zu "<!--" und "-->":
Die HTML-Spec sagt: „Einige Skript-Engines, einschließlich der Engines für die Sprachen JavaScript, VBScript und Tcl, gestatten die Angabe der Skriptzeilen in SGML-Kommentaren.“ [HTML401 §18.3.2]
Allerdings finde ich das in keiner JavaScript-Spec festgeschrieben (im Gegensatz zu "<!--" und "-->" in CSS). Ist das auch nur Fehlertoleranz der JavaScript-Engines der Browser?
Live long and prosper,
Gunnar
Das einzige Mittel, den Irrtum zu vermeiden, ist die Unwissenheit. (Jean-Jacques Rousseau)