Supportnet / Forum / Webseiten/HTML
Fehler bei Vadilieren
Frage
Hi,
ich habe folgenden Code bei mir in der Seite wo der W3C Vadilator meckert.
[code]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
....
....
....
....
<body>
....
....
....
<script language="JavaScript" type="text/javascript">
document.writeln (´<a href="" onClick="javascript:window.print();" onmouseover="window.status=\´Drucken\´;return true;" onmouseout="window.status=\´\´;return true;"><img src="../images/drucken.jpg" width="35" height="34" border="0"></a>´);
</script>
....
....
</html>
[code]
Folgende Meldung spukt er mir aus:
[quote] 1. Error Line 111 column 239: end tag for element "A" which is not open.
...width="35" height="34" border="0"></a>´);
The Validator found an end tag for the above element, but that element is not currently open. This is often caused by a leftover end tag from an element that was removed during editing, or by an implicitly closed element (if you have an error related to an element being used where it is not allowed, this is almost certainly the case). In the latter case this error will disappear as soon as you fix the original problem.
If this error occured in a script section of your document, you should probably read this FAQ entry.
[/quote]
Ich hab keine Ahnung warum der meckert. :-/
Habt Ihr einen Tipp, warum der mir die Fehlermeldung ausspuckt??
bye,
Andi
Antwort 1 von rfb
ist der JavaScript-Kram die Zeile 111??
Falls ja, dann auskommentieren in dieser Art:
Falls ja, dann auskommentieren in dieser Art:
<script type="text/javascript">
<!--
alert("Hallo Welt!");
//-->
</script>Antwort 2 von DonMartin
hi,
ich habs rausbekommen.
ich muste das so machen:
.....width="35" height="34" border="0"><\/a>´);
ich muste einen Backslasch vor den Slash machen im end "a" Tag. ^^
--> mal mit leerzeichen drinn, zum genauen anschauen:
....width="35" height="34" border="0">< \ / a >´);
Da muß mal einer drauf kommen. *gg*
bye,
Andi [
ich habs rausbekommen.
ich muste das so machen:
.....width="35" height="34" border="0"><\/a>´);
ich muste einen Backslasch vor den Slash machen im end "a" Tag. ^^
--> mal mit leerzeichen drinn, zum genauen anschauen:
....width="35" height="34" border="0">< \ / a >´);
Da muß mal einer drauf kommen. *gg*
bye,
Andi [
Antwort 3 von rfb
hast du das Auskommentieren mal probiert?
Antwort 4 von DonMartin
jo, aber das hat nix gebracht mit den
<!--
//-->
hat dann immernoch gemeckert. naja, so funktionierts.
er meckert nicht, und das script funktioniert sogar wenn er es "schreibt".
bye,
Andi
<!--
//-->
hat dann immernoch gemeckert. naja, so funktionierts.
er meckert nicht, und das script funktioniert sogar wenn er es "schreibt".
bye,
Andi
Antwort 5 von rfb
zur Ergänzung:
eigentlich hat sich der Validator um JavaScript nicht zu kümmern. So gesehen liegt hier eher ein Fehler des Validators vor. Aber auch ältere Browser versuchen den Text im Scriptbereich zu interpretieren. Daher gilt die Empfehlung, diesen Bereich als HTML-Kommentar auszuzeichnen, dann ignorieren die das einfach.
Und noch eine Anmerkung ganz am Rande: das ist viel Aufwand für einen Druck-Button, den die meisten Browser sowieso schon eingebaut haben. Und da wo es nötig ist ist JavaScript in externer Datei immer die bessere Lösung.
eigentlich hat sich der Validator um JavaScript nicht zu kümmern. So gesehen liegt hier eher ein Fehler des Validators vor. Aber auch ältere Browser versuchen den Text im Scriptbereich zu interpretieren. Daher gilt die Empfehlung, diesen Bereich als HTML-Kommentar auszuzeichnen, dann ignorieren die das einfach.
Und noch eine Anmerkung ganz am Rande: das ist viel Aufwand für einen Druck-Button, den die meisten Browser sowieso schon eingebaut haben. Und da wo es nötig ist ist JavaScript in externer Datei immer die bessere Lösung.

