Avatar billede dotcom1 Nybegynder
28. marts 2005 - 15:55 Der er 12 kommentarer og
1 løsning

Javascript vil ikke valideres på validator.w3.org

Når jeg forsøger at validere denne side får jeg fejlen at "end tag for element "I" which is not open" - her henvises til linien: <i>ikke</i>.
"The Validator found an end tag for the above element, but that element is not currently open."

Hvorfor får jeg denne fejl? Det samme sker hvis jeg bruger <em></em> Der er altså ingen uafsluttede tags.

Siden:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
<script language="JavaScript" type="text/javascript" src="plugins.js"></script>
</head>

<body>
<script language="JavaScript" type="text/javascript">
<!--
if (pluginlist.indexOf("Flash")!=-1)
document.write("Du har Flash installeret...<br>")
else document.write("Du har <i>ikke</i> Flash installeret...<br>")
if (pluginlist.indexOf("Shockwave")!=-1)
document.write("Du har Shockwave installeret...<br>")
else document.write("Du har <i>ikke</i> Shockwave installeret...<br>")
if (pluginlist.indexOf("Acrobat Reader")!=-1)
document.write("Du har Acrobat Reader installeret...<br>")
else document.write("Du har <i>ikke</i> Acrobat Reader installeret...<br>")
if (pluginlist.indexOf("Windows Media Player")!=-1)
document.write("Du har Windows Media Player installeret...<br>")
else document.write("Du har <i>ikke</i> Windows Media Player installeret...<br>")
if (pluginlist.indexOf("Java")!=-1)
document.write("Du har Java installeret...<br>")
else document.write("Du har <em>ikke</em> Java installeret...<br>")
if (pluginlist.indexOf("RealPlayer")!=-1)
document.write("Du har RealPlayer installeret...<br>")
else document.write("Du har <i>ikke</i> RealPlayer installeret...<br>")
if (pluginlist.indexOf("QuickTime")!=-1)
document.write("Du har QuickTime installeret...<br>")
else document.write("Du har <i>ikke</i> QuickTime installeret...<br>")
//-->
</script>
</body>
</html>

Mvh.
Avatar billede barklund Nybegynder
28. marts 2005 - 16:02 #1
Læs fejlbeskeden :)


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[1].


[1] http://validator.w3.org/docs/help.html#faq-javascript

Sidste sætning og tilhørende link er netop svaret på dit spørgsmål :)

--
Morten Barklund
Avatar billede barklund Nybegynder
28. marts 2005 - 16:03 #2
Hvilket linker dig videre til:

http://www.htmlhelp.com/tools/validator/problems.html#script

--
Morten Barklund
Avatar billede dotcom1 Nybegynder
28. marts 2005 - 16:14 #3
Du har ret...læste kun til FAQ. Løsningen er at indsætte en \ i tagget, så det ser sådan ud: <i>ikke<\/i>
Læg et svar, barklund. :)
Avatar billede barklund Nybegynder
28. marts 2005 - 16:16 #4
Helt i orden :)
Avatar billede barklund Nybegynder
28. marts 2005 - 16:16 #5
Hovhov!
Avatar billede dotcom1 Nybegynder
28. marts 2005 - 16:17 #6
:-)
Avatar billede roenving Novice
28. marts 2005 - 16:21 #7
-- iøvrigt kan man også benytte sig af javascripts egen notation for dette (men simpel escaping er jo fuldt gyldig !-)

\57
Avatar billede barklund Nybegynder
28. marts 2005 - 16:21 #8
Tark for points :)
Avatar billede dotcom1 Nybegynder
28. marts 2005 - 16:24 #9
roenving --> Hvordan ser javascripts egen notation ud for dette?
Avatar billede roenving Novice
28. marts 2005 - 16:30 #10
Javascript tillader escapede oktal-koder, og jeg har selv brugt dem ekstra meget for at være på den helt sikre side (se f.eks. http://roenving.users.whitehat.dk/Kode/WD1Kode.html !-)

-- og hvis du godt vil kende koderne for forskellige karakterer kan du bruge oleboles oktal-konverteringsmaskine: http://tjenester.dk/x-codes.dk/eksperten/oktal_konverter/
Avatar billede dotcom1 Nybegynder
28. marts 2005 - 16:33 #11
Aha! Okay, tak for det. :)
Avatar billede barklund Nybegynder
28. marts 2005 - 16:36 #12
Eller finde det ved at skrive:

alert("/".charCodeAt(0).toString(8));

Hvilket giver 57 - og det skrives da "\57".

Du kan dog også skrive det i hex-notation som enten "\x2F" eller "\u002F", hvor 2F er hex-koden for tallet 47 - der i oktal notation er tallet 57 :)
Avatar billede dotcom1 Nybegynder
28. marts 2005 - 16:39 #13
Okay. Men oleboles lille konverteringsmaskine er nu bare smart! :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester