learnMedlem sedan jan. 20051 143 inlägg
Vart i koden ska man placera ett javascript - inom <head>, inom <body> eller vart som helst? Om det beror på, vad beror det på?
Jag har en massa sådana här:
<script language="JavaScript" type="text/javascript" src="funktion.js"></script>
Kan jag placera dessa på det ställe på sidan där funktionen används..?
Vad ska man tänka på?.
Peter SMedlem sedan dec. 20025 484 inlägg
Du kan placera den i stort sett var som helst. Dock är det några saker att tänka på:
...
<script>typeof document.getElementById("foo") == undefined</script>
<span id="foo"></span>
...
...
<span id="foo"></span>
<script>typeof document.getElementById("foo") == object/script>
...
I det första exemplet returneras undefined eftersom span-elementet inte lästs in ännu. I det andra exemplet, däremot, fungerar det som tänkt.
Genom att placera include-direktivet inom <head></head>, får du alltså se till att skriptet inte refererar till element som ännu inte lästs in (vanligt är att window.onload används).
learnMedlem sedan jan. 20051 143 inlägg
OK, men varför stoppa in i <head>, finns det ngn fördel, vad är skillnaden?
Peter SMedlem sedan dec. 20025 484 inlägg
En tanke med <head> är väl att man där stoppar information som inte skall visas i webbläsaren, t.ex. meta- och css-taggar samt JS-kod för validering m.m. Vill du däremot använda document.write() är ju <head> högst olämplig ;)
Jesper TMedlem sedan nov. 20017 058 inlägg
Det kanske finns ett finare ord på svenska, men det är väl mestadels som standard att lägga javascript-blocket i head.
Om du ser Peters exempel så kräver ju det att script blocket ligger efter span-taggen.
Alternativt att du lägger det i en window.onload-funktion.
learnMedlem sedan jan. 20051 143 inlägg
Hmm, så hur ska jag göra. Känns ju lite onödigt att ha med funktioner på sidor som de inte används på (som det blir om jag lägger dem i head).....
Peter SMedlem sedan dec. 20025 484 inlägg
Skapa flera include-filer och inkludera endast de som behövs på aktuell sida.
learnMedlem sedan jan. 20051 143 inlägg
OK, ska jag inkludera i head (mha if-satser) eller ska jag inkludera på den aktuella sidan?
Peter SMedlem sedan dec. 20025 484 inlägg
Jag skulle nog inkludera på den aktuella sidan.