Avatar billede mortenbock Nybegynder
19. maj 2006 - 11:52 Der er 15 kommentarer og
1 løsning

Alternativ til bodyOnload

Hejsa.

jeg har et lille problem.

Jeg har sat en javascript funktion ind på mit site som egentlig kræver at jeg bruger:

<body onLoad="load()">

Men hvis jeg indsætter load() i body i min template, så kommer der en fejl på alle de sider der ikke benytter de elementer der henvises til i scriptet.

Kan jeg på en eller anden måde kalde load() et andet sted end i body tag'et?

Evt. noget
<script>
  load();
</script>

?
Avatar billede erikjacobsen Ekspert
19. maj 2006 - 12:18 #1
Du kan prøve at sætte den nederst i filen.
Men ellers er det vel bare at sætte en "if" på, alle de steder du refererer elementer: hvis det er der, så gør noget, hvis ikke, la' vær'
Avatar billede fennec Nybegynder
19. maj 2006 - 12:20 #2
Evt kan du smide en try/catch omkring:
<body onLoad="try{load();}catch(e){}">

Ellers du prøve at kalde funktionen efter "oprettelse":

function load()
{
  ...
}
load();
Avatar billede mortenbock Nybegynder
19. maj 2006 - 12:27 #3
Hvordan tester jeg om

<div id="map"></div>

findes i koden?
Avatar billede erikjacobsen Ekspert
19. maj 2006 - 12:29 #4
if (document.getElementById("map")) {  alert("Der er ugler i mosen"); }
Avatar billede mortenbock Nybegynder
19. maj 2006 - 12:42 #5
hehe, ugler...

Smid et svar :-)
Avatar billede mortenbock Nybegynder
19. maj 2006 - 12:42 #6
begge løsninger virker, så bare smid begge to.
Avatar billede fennec Nybegynder
19. maj 2006 - 12:57 #7
.o) <-- One Eyed Jack
Avatar billede erikjacobsen Ekspert
19. maj 2006 - 14:27 #8
Jeg samler ikke på point, tak.
Avatar billede olebole Juniormester
19. maj 2006 - 19:04 #9
<ole>

<div id="map"></div>
<script type="text/JavaScript">
load();  // Nu kan du godt loade dit GoogleMap
</script>

/mvh
</bole>
Avatar billede mortenbock Nybegynder
20. maj 2006 - 09:48 #10
ole> Jeg prøvede dit sidste forslag tidligere, men kunne ikke få det til at virke. Kan det være fordi jeg har sat script tag'et før mit div tag i html'en?
Avatar billede erikjacobsen Ekspert
20. maj 2006 - 10:03 #11
Hvis du satte script-tagget før din div, er det ikke Oles forslag du prøvede.
Avatar billede mortenbock Nybegynder
20. maj 2006 - 10:06 #12
erik> point taken :-) Men lad os så sige at jeg prøvede noget lignende tidligere :-)

Summa summarum: Er det vigtigt at scriptet kommer _efter_ div tag'et?
Avatar billede erikjacobsen Ekspert
20. maj 2006 - 10:19 #13
Ja, for elementet i hvert fald ikke oprettet på siden før man har passeret </div>
Avatar billede olebole Juniormester
20. maj 2006 - 11:20 #14
Hvis div'et ikke er tegnet i browseren, når scriptet tvinges til at forsøge at kalde det, kan scriptet naturligvis ikke finde div'et - og må hovedrystende smide en fejlbesked  :)
Avatar billede mortenbock Nybegynder
20. maj 2006 - 12:37 #15
Puha java har rystet på hovede af mig mange gange ;)

Tak for hjælpen.
Avatar billede olebole Juniormester
20. maj 2006 - 12:44 #16
- og for nu lige at træde lidt rundt i det betændte øje, så har Java og JavaScript ikke meget andet end fire bogstaver tilfælles  ;D

- og selvtak  =)
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