Thread JavaScript und Kommentare: bzw Firefox bug?
(15 answers)
Opened by vayu at 2007-06-25 16:52
[quote=GwenDragon,25.06.2007, 15:18]Böser Bug in FF 2 + 3.
[...][/quote] Das ist kein Bug. Das Verhalten des Firefox ist völlig korrekt, das des Internet Explorer selbst für HTML 4.01 Transitional kulanter als es sein müsste. Der Inhalt von <script>-Tags ist genau wie der aller anderen HTML-Elemente vom Typ PCDATA, was bedeutet, dass man darin spezielle Zeichen durch Entitäten ersetzen sollte. Der HTML-Parser des Browsers muss den Skriptquelltext ja nicht verstehen, er liest ihn nur ein, substituiert die Entitäten und übergibt ihn an einen passenden Skriptinterpreter. Kommentare im JavaScript-Stil werden erst vom JavaScript-Interpreter erkannt -- für den Parser des Browsers ist das ganze Skript einfach Text. Wenn Du nicht ordentlich Entitäten verwendest, wirst Du zum Beispiel auch Probleme mit Code wie if (a < 5) { ... } bekommen. Da muss man stattdessen if (a < 5) { ... } schreiben. Alternativ hilft es auch, XHMTL zu schreiben und das Skript in einen <![CDATA[ ... ]]>-Block zu packen. Irgendwo Backslashes als Escapezeichen einzufügen, wie von GwenDragon vorgeschlagen, mag zwar manchmal funktionieren, ist aber definitiv keine saubere Lösung, denn die spitzen Klammern stehen dann erst recht als ungültige Tagbegrenzungen in der Gegend herum. When C++ is your hammer, every problem looks like your thumb.
|