Validatorn verkar inte förstå att det är javascript så den kör vanlig html validering istället ... hur kan man fixa detta?
Javascript fel vid validering av sida?
7 svar · 397 visningar · startad av maqe
Vad menar du, vad är det du försöker validera? Är det W3Cs validering du pratar om?
Jo jag var visst lite otydlig. w3c validering av html kod gäller det.
Som sagt det verkar som att den försöker validera javascript kod och då klagar den & ; < etc ...
Visa kod och exakt vad validatorn säger.
Javascript i script-taggar brukar inte vara något problem.
Ifall du har javascript i html-taggarna (events) så ska faktiskt vissa tecknen html-kodas.
Exempel:
<input type="button" value="klicka inte" onclick="if (a < 4) window.alert("Hej & hopp!");">
Om man har en <script> tagg så ska väl inte denna kod valideras ...
All kod valideras! :)
I HTML är innehållet i SCRIPT "CDATA", dvs dess innehåll tolkas inte som HTML utan som "ren text". Bara sekvensen "</" känns igen av HTML-tolken, eftersom den måste veta när den träffar på </script>-taggen.
Därför måste man "escapa" sekvensen "</" om man har det, tex såhär:
<script type="text/javascript">
document.write("<p>Hello World!<\/p>");
</script>
I XHTML är innehållet av SCRIPT inte CDATA, utan #PCDATA, alltså det tolkas av XML-tolken som märkkod. För att påtvinga CDATA får vi använda en CDATA-deklaration, tex såhär:
<script type="text/javascript"><![CDATA[
// Det här tolkas som ren text av XML-tolken: <>&"'
]]></script>
"XHTML" som serveras som text/html, tolkas som HTML av webbläsaren. Alltså tycker webbläsaren att SCRIPT är CDATA, och texten "<![CDATA[" försöker JavaScript-tolken att få ut nåt vettigt ur, och det är inte så lyckat. ;) För att komma runt det problemet kan vi lägga en js-kommentar framför, såhär:
//<![CDATA[
...
//]]>
Hoppas jag inte krånglade till allting nu! :)
Det lättaste är dock att lägga alla skript i externa filer. ;)