W3C valides JavaScript

Wer das Tag <script type="text/javascript"> direkt im <head> Teil seiner HTML-Seite verwendet, der kann Probleme bei der W3C-Validierung seines Dokumentes bekommen, wenn innerhalb des JavaScript-Tags nach dem HTML-Standard unerlaubte Elemente enthalten sind.

Typische Fehlermeldungen dafür sind:

  • character „&“ is the first character of a delimiter but occurred as data
  • cannot generate system identifier for general entity „document.getElementById“
  • general entity „document.getElementById“ not defined and no default entity
  • reference not terminated by REFC delimiter
  • reference to entity „document.getElementById“ for which no system identifier could be generated
  • character „;“ not allowed in attribute specification list
  • element „navRoot.childNodes.length“ undefined
  • end tag for „navRoot.childNodes.length“ omitted, but OMITTAG NO was specified

Man kann dieses Manko umgehen, wenn man diese Deklaration ändert:

1
2
3
<script type="text/javascript">
/* My Code */
</script>

Undzwar in:

1
2
3
<script type="text/javascript"><!--//--><![CDATA[//><!--
/* My Code */
//--><!]]></script>