jakeMedlem sedan sep. 2001437 inlägg
sägs ju vara bra att inkludera js från en separat fil.
enligt principen
<Script language="JavaScript" src="include/sida.js"></script>
för att inkludera sida.js
Fördelar och nackdelar med att lägga alla script på en sida eller inkludera flera sidor..?
Om man har ett script på sidan dvs i body-taggen
hur skriver man om det för att kunna lägga det i en separat fil och vad skriver man på stället man ska ha funktionen?
JojoxxMedlem sedan juni 20004 306 inlägg
Fördelar
- Du får mindre kod att scrolla igenom när du skall redigera sidan.
- Du kan återanvända koden på flera sidor.
- ... vilket även för med att ändrar du koden i .js-filen återspeglas det på alla sidor som använder den.
Nackdelar
- Du får fler filer att hålla reda på.
- Använder du samma script på fler sidor kan det vara svårt att se ev. oförutsedda följer. Ex. att script krockar eller att dina dhtml-kreationer ser mystiska ut på olika sidor.
- Du kan få timing-problem ifall du försöker att anropa funktioner som ligger i separata filer om de inte är laddade än (alltså, om du inte först kollar att sidan är laddad via eventet onLoad).
Som du märker kan du ofta vända samma sak till både en fördel eller nackdel beroende på hur du jobbar. För att göra det enkelt för dig när du skall lägga in .js-filerna i ditt html-dokument kan du tänka dig att scriptet hamnar där du inkluderar filen. Alltså använder du document.write() i .js-filen skrivs resultatet ut på samma ställe på sidan som du inkluderar scriptet. Således hur du inte inkludera script som genererar html-kod som skall synas på sidan i <head> e.dyl. Inkluderade funktioner kan som vanligt ligga var som hellst på sidan.
jakeMedlem sedan sep. 2001437 inlägg
ok, tack
men en del script består ju av en del i <head> och en del i body är det bara att inkludera respektive fil på respektive ställe..?
JojoxxMedlem sedan juni 20004 306 inlägg
Det kan du göra om du vill, men i 95% av fallen behöver inte delen som ligger i head ligga där och då kan du lägga allt i body. Anledningen att lägga något i <head> är oftast att man vill vara säker på att funktioner man deklarerar där skall finnas när man sedan anropar dem från body (eller någon annan stanns). Lägger du det i samma fil är du ju ändå säker på att det finns där. En annan anledning kan vara ett redirect-script. Då vill du att det skall köras så tidigt som möjligt, och då kan det vara idé att lägga det i <head>.