XHTML-kompatibler Skriptbereich nicht interpretierbar?
Haefti
- html
0 Tobias Müller0 Haefti
Hallo!
In meinem XHTML 1.0 (Strict)-kompatiblen HTML-Dokument habe ich einen Javascript-Bereich definiert nach den Regeln des W3C bzw. wie auch in SELFHTML beschrieben (http://selfhtml.teamone.de/html/xhtml/unterschiede.htm#script_style).
Leider interessiert das die JS-Interpreter meines IE 6.0 und meines Firefox 0.8 (beides unter XP) ziemlich wenig. Folgender Code wird immer angemeckert:
-----------------------
<script type="text/javascript">
<!--
<![CDATA[
...Funktionierender Javascriptcode
]]>
//-->
</script>
-----------------------
Die JS-Konsole von Mozilla gibt z.B. folgendes aus:
-----------------------
Fehler: syntax error
Quelldatei: http://localhost/alpha/test_index.php
Zeile: 14
Quelltext:
<![CDATA[
-----------------------
Er stört sich also offensichtlich an der Character Data-Vorgabe, die ja aber XHTML-konform ist.
In SELFHTML steht zwar auch, dass man JS-Code in externe Dateien auslagern soll, um Problemen mit den Interpretern aus dem Weg zu gehen, aber dass es gar nicht geht, finde ich dann ja doch etwas seltsam.
Hat jemand eine Idee oder muss ich sämtlichen JS-Code in eine externe Datei auslagern?
Vielen Dank schon mal!
Haefti
Hallo,
Hat jemand eine Idee oder muss ich sämtlichen JS-Code in eine externe Datei auslagern?
Du musst die CDATA Vorgabe einfach in einen Javascript Kommentar setzen.
also so:
// <![CDATA[
[... Dein Javascript ...]
// ]]>
Dadurch überlesen die Browser das somit. Angenommen ein XML-Parser trifft jetzt auf dein Script, dann wird dieser den Kommentar nicht als Kommentar interpretieren, somit die CDATA-Vorgabe "fressen" und dein Script als CDATA behandeln.
MfG Mülli
Klasse, vielen Dank!
Hätte ich auch selber drauf kommen können. ;-)
Ciao!
Haefti