xhtml: validator motzt bei "&&" aus JavaScript im quelltext
michael
- html
0 MudGuard0 Gunnar Bittersmann0 Jeena Paradies0 Daniel Thoma
hallo alle zusammen,
zitat aus selfhtml:
"Mit dem logischen Operator && verknüpfen Sie zwei oder mehrere Bedingungen durch "und" "
mein problem ist nun folgendes:
mein JS steht im body meiner site.
wenn ich die site nun xhtml-kompartibel machen will,
dann beschwert sich der validator über das "&", das ja eigentlich per & kodiert sein sollte.
ein "&&" anstelle von "&&" kennt aber JS natürlich nicht ??
was kann ich also machen um mein dokument valide zu bekommen?
(abgesehen davon, das JS rauszuschmeißen?)
vielen dank für eure hilfe,
grüße,
michael
p.s.: wiso übergeht das der validator eigentlich nicht einfach?
ich dachte, der validiert nur (x)html? ich meine, eigentlich ist das doch JS und kein html...?
Hi,
mein JS steht im body meiner site.
wenn ich die site nun xhtml-kompartibel machen will,
Welche XHTML-Version? Welcher content-type?
Steht das Script in einer CDATA-Section?
Lauter Fragen, die Du eigentlich schon hättest beantworten können, wenn Du einfach einen Link auf die betroffene Seite mitgeliefert hättest ...
cu,
Andreas
Genau um solche Probleme zu vermeiden, lagere ich Scripts in separate Dateien aus - ist das einfachste !
Hallo,
mein JS steht im body meiner site.
wenn ich die site nun xhtml-kompartibel machen will,Welche XHTML-Version? Welcher content-type?
Wieso ist das relevant?
XHTML 1.0 (Strict, Transitional, Frameset) und XHTML 1.1 unterscheiden sich in dem Punkt nicht.
Und die Frage tritt immer auf, wenn man gültiges X(HT)ML schreiben will (davon wollen wir einmal ausgehen), das hängt nicht davon ab, wie man das Dokument letztlich ausliefert.
Mathias
mein JS steht im body meiner site.
wenn ich die site nun xhtml-kompartibel machen will,
... dann hast du schlechte Karten, wenn im Script & oder -- vorkommt.
http://de.selfhtml.org/html/xhtml/unterschiede.htm#script_style
Gunnar
Hallo,
ein "&&" anstelle von "&&" kennt aber JS natürlich nicht ??
Hast du es mal ausprobiert? Ich könnte fast wetten dass es mit "&&" funktioniert.
Grüße
Jeena Paradies
Hallo michael,
ein "&&" anstelle von "&&" kennt aber JS natürlich nicht ??
Nein, aber der XML Parser sollte && durch && ersetzen. Der Javascript Interpreter bekommt dann nur && zu sehen. Jedenfalls, wenn die XHTML Unterstüzung korrekt implementiert ist.
Alternativ kannst Du das ganze Script in einen CDATA-Abschnitt packen:
<script type="text/javascript">
<![CDATA[
script mit <> &
]]>
</script>
Wenn auch ältere Browser mit der Seite klar kommen sollen, ist es aber vermutlich am einfachsten, das Script auszulagern.
Grüße
Daniel
Hi,
<![CDATA[
script mit <> &
... aber ohne "if (foo[bla[blub]]>42)".
Chea "Wollt's nur gesagt haben :-)" tah
Hallo,
... aber ohne "if (foo[bla[blub]]>42)".
... weil ]]> den CDATA-Abschnitt beendet, aber "if (foo[bla[blub]] >42)" loest dieses Problem.
MfG, Thomas
Hallo Cheatah,
... aber ohne "if (foo[bla[blub]]>42)".
Vor und nach binären Operatoren fügt man auch ein leerzeichen ein...
Grüße
Daniel
Hallo,
ein "&&" anstelle von "&&" kennt aber JS natürlich nicht ??
Nein, aber der XML Parser sollte && durch && ersetzen. Der Javascript Interpreter bekommt dann nur && zu sehen. Jedenfalls, wenn die XHTML Unterstüzung korrekt implementiert ist.
...was bekanntlich keine Rolle spielt, wenn das Dokument sowieso als text/html ausgeliefert wird.
Der Validator legt natürlich stur seinen XML-Parser an, für HTML-Browser hingegen ist nur »</« gefährlich.
Alternativ kannst Du das ganze Script in einen CDATA-Abschnitt packen:
<script type="text/javascript">
<![CDATA[
script mit <> &
]]>
</script>Wenn auch ältere Browser mit der Seite klar kommen sollen, ist es aber vermutlich am einfachsten, das Script auszulagern.
Daher schreibt man zumindest:
<script type="text/javascript">
// <![CDATA[
...
// ]]>
</script>
Für <![CDATA[ ist im Gegensatz zu <!-- nicht festgelegt, dass es am Anfang von script stehen darf, aber die Browser sind diesbezüglich sowieso sehr tolerant.
Mathias