head und html-Tag in javascript schließen. w3c-validator meckert
Marek
- javascript
Folgendes Javascript befindet sich im head-Bereich einer HTML-Datei:
<script type="text/javascript">
<!--
var ses = "en";
if (navigator.browserLanguage) ses=navigator.browserLanguage;
if (navigator.language) ses=navigator.language;
if (document.cookie) {
ses = document.cookie;
} else {
document.cookie = ses;
if (ses=="de"){
document.write("</head></html>");
}
}
//-->
</script>
Zunächst mal stelle ich keine Inkompatibilität mit aktuellen Browsern fest. Mein Problem ist also nicht die Funktion, sondern lediglich die standardkonforme Syntax, aber ich komm grad' nicht drauf, wie es richtig sein muß. W3C beschwert sich folgendermaßen:
# Line 24, Column 29: end tag for "SCRIPT" omitted, but its declaration does not permit this
document.write("</head></html>");
✉
* You forgot to close a tag, or
* you used something inside this tag that was not allowed, and the validator is complaining that the tag should be closed before such content can be allowed.
The next message, "start tag was here" points to the particular instance of the tag in question); the positional indicator points to where the validator expected you to close the tag.
<script type="text/javascript">
Hi,
document.write("</head></html>");
document.write("</head></html>");
MfG ChrisB
@@Marek:
nuqneH
<!--
//-->
Die HTML-Auskommentierung von JavaScript-Code ist unsinnig bis falsch. Weg damit!
if (ses=="de"){
document.write("</head></html>");
}
Da sei die Frage gestattet, was das soll. Wenn die Bedingung erfüllt ist, werden zusätzlich zu den vorhandenen End-Tags weitere End-Tags ins Dokument geschrieben?
Welches Problem auch immer damit gelöst werden soll, dies kann kaum die Lösung sein. Was ist dein Problem?
Was soll das JavaScript überhaupt bewirken? Welche Information willst du navigator.browserLanguage bzw. navigator.language entlocken?
Qapla'