Avatar billede elskermad.dk Nybegynder
13. september 2006 - 16:15 Der er 11 kommentarer og
1 løsning

Javascript inline i dokumenter i xhtml

Hej Eksperter!

Jeg har fået at vide at hvis man vil benytte javascript inde i dokumentet i xhtml skal man gøre på følgende måde:

<script type='text/javascript'>
<![CDATA[
    window.onload = function() {
        countdown(1,355435345334);
    }
]]>
</script>

Men den melder Syntaksfejl i "<![CDATA["

Hvad gør jeg galt?
Avatar billede elskermad.dk Nybegynder
13. september 2006 - 16:40 #1
ja kan forresten se at det virker i FF
Avatar billede elskermad.dk Nybegynder
13. september 2006 - 16:40 #2
ja = jeg
Avatar billede mclemens Nybegynder
13. september 2006 - 17:39 #3
Du leverer nok ikke siden som xhtml ... prøv denne her:

test.xhtml <- bemærk .xhtml ikke .html


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>...</title>

<script type="text/javascript">
<![CDATA[
    window.onload = function() {
        countdown(1,355435345334);
    }

function countdown(t){
  alert(t);
}

]]>
</script>

</head><body>
.
</body>
</html>
Avatar billede mclemens Nybegynder
13. september 2006 - 17:40 #4
Men, nu er cdata escaping ikke ok i IE
- så scripts bør nok lægges eksernt indtil videre...?
Avatar billede mclemens Nybegynder
13. september 2006 - 17:41 #5
Du kan finde lidt om content negotiation m.h.t. xhtml understøttet
browser eller ej herinde http://www.eksperten.dk/spm/719030#rid6329210
Avatar billede mclemens Nybegynder
13. september 2006 - 17:43 #6
[ ja kan forresten se at det virker i FF ] Hvis siden leveres som xhtml til
Firefox virker det fint - det er derfor jeg skrev filnavn.xhtml i 17:39:22
- Men servermæssigt, så er det content negotiation ...
Avatar billede elskermad.dk Nybegynder
13. september 2006 - 17:50 #7
mit problem er at jeg gerne vil have kaldt en funktion med noget data fra en db, og det kan jeg jo ikke hvis den ligger lokalt?

det er på vinderland.alvision.dk - så burde blive kaldt som xhtml selvom dokumentet ikke hedder det?!
Avatar billede elskermad.dk Nybegynder
13. september 2006 - 17:53 #8
har løst problemet ved at lægge indholdet i en div også hente det derfra, men det er vel ikke det mest optimale?
Avatar billede mclemens Nybegynder
13. september 2006 - 18:41 #9
[ det er på vinderland.alvision.dk - så burde blive kaldt som xhtml selvom dokumentet ikke hedder det?! ] Jep vinderland.alvision.dk bliver leveret som xhtml til Firefox :o)

[ har løst problemet ved at lægge indholdet i en div også hente det derfra, men det er vel ikke det mest optimale? ] Uhm, ved ikke lige hvordan og hvorledes men m.h.t. at den lægger lokalt vs. eksternt kan man hente dataerne fra en div som du gør - en anden mulighed kunne måske være fra href? Nu ved jeg ikke helt hvilke dataer det er og hvordan du skal håndtere dem men ellers ville jeg selv: Globalt js array ellers indhold i skjult div - og hvis det kunne dynamisk via. xmlhttprequest ville jeg måske rode med den ...


En lille ting:
window.onload = function() { <- window.onload er ikke til xhtml man skal bruge eventhandlers ... f.eks.:

if(window.addEventListener)window.addEventListener("load", function(){wload();}, false);
else if(window.attachEvent)window.attachEvent("onload", function(){wload();});

function wload(){

}
Avatar billede elskermad.dk Nybegynder
13. september 2006 - 19:34 #10
når det ligger i en js, kan man så stadig angive noget via href?

hvad er xmlhttprequest ?

hvis window.onload ligger som ekstern fil burde det så ikke virke selvom siden er xhtml?
Avatar billede mclemens Nybegynder
13. september 2006 - 19:51 #11
[ når det ligger i en js, kan man så stadig angive noget via href? ]
Du kan jo aflæse window.location.href? f.eks. denne med parsing af
get variabler http://www.eksperten.dk/spm/724039#rid6373520
- alternativt kan du måske lave dit javascript om til et php script f.eks.:
<?php header('content-type: application/x-javascript;charset=iso-8859-1'); ?>
... og så på basis af php url parsing få javascriptet til at skifte sig ?
- og så få php til at variere output af src værdien til javascriptet
<script type="text/javascript" src="filnavn.php?curpage=blabla"></script>


[ hvad er xmlhttprequest ? ]
Kaldes også ajax , http://developer.mozilla.org/en/docs/AJAX:Getting_Started
(ikke noget jeg har rodet med (grundet seo) og da jeg ikke selv har behovet ... )


[ hvis window.onload ligger som ekstern fil burde det så ikke virke selvom siden er xhtml? ] Så vidt jeg ved skal man bruge event handlers ligesom man skal bruge setAttribute m.v. da det er xml dom istedet for js dom ... jeg kan selvfølgelig tage fejl da jeg kun har hørt det (bruger ikke selv javascript på min side)
Avatar billede mclemens Nybegynder
14. september 2006 - 10:52 #12
Tak for point :)
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