JavaScripts knippen en plakken
Op deze website vind je javascripts die je door eenvoudig knippen en plakken aan jouw site kunt toevoegen.
vorige    TWEE OF MEER SCRIPTS STARTEN MET ONLOAD    volgende

Wanneer een script gestart moet worden bij het openen van de pagina, gebeurt dit met 'onload' ( = bij het laden van het document ).

1. Ofwel staat deze opdracht in het JavaScript:

   (window.)onload = doe_dit; ( 'window' mag weggelaten worden )
   Meestal vind je dit voor de afsluitende script-tag ( = </script> ).

2. Ofwel voeg je die in jouw html-code in binnenin de BODY-tag:

   <BODY onload = "doe_dit()" ... >

Er ontstaat een probleem wanneer je twee (of meer) van deze scripts wil invoegen: de browser raakt in de war en voert slechts één (meestal het laatste, of soms geen) van deze scripts uit. Hiervoor bestaan meerdere oplossingen.

METHODE 1: PLAATS ALLE ONLOAD-OPDRACHTEN BINNENIN DE BODY-TAG.

Staat de opdracht in het script, dan moet je die uit het script verwijderen en binnenin de body-tag plaatsen.


Enkele voorbeelden:

html : onload = "doe_dit()" html : onload = "doe_dit()" script: onload = doe_dit;
html : onload = "doe_dat()" script: onload = doe_dat; script: onload = doe_dat;
body onload = "doe_dit(); doe_dat();" body onload = "doe_dit(); doe_dat();" body onload = "doe_dit(); doe_dat();"


Heb je nog meer scripts die op deze manier gestart worden, dan kun je dit op dezelfde manier uitbreiden:

<BODY onload="doe_dit(); doe_dat(); doe_nog_iets_anders();" ... >



METHODE 2: PLAATS ALLE ONLOAD-OPDRACHTEN IN EEN SCRIPT.

Verwijder eveneens alle onload-opdrachten uit de scripts en uit de body-tag.


Je maakt een script, dat je in HEAD plaatst, waarbij je alle onload-opdrachten in een anonieme functie plaatst:

<script type="text/javascript">
window.onload = function() {
doe_dit();
doe_dat();
doe_eventueel_nog_iets_anders();
}
</script>


Op deze manier worden alle opgegeven functies opgestart bij het inladen van de pagina.



METHODE 3: GEBRUIK HET UNIVERSEEL BRUIKBARE 'ADDLOADEVENT' SCRIPT.


Download het script addLoadEvent.js (en zet dit liefst neer op een gemakkelijk te vinden plaats - bijvoorbeeld in jouw hoofdmap - dan kun je het telkens wanneer je het nodig hebt eenvoudig oproepen).

Een voorbeeld van de werkwijze:

Stel dat je twee scripts hebt - script_A.js en script_B.js - die je beide met onload moet starten.

Zoek in script_A waar de onload opdracht staat en vervang die in script_A door addLoadEvent(onload-opdracht van script_A);
Zoek in script_B waar de onload opdracht staat en vervang die in script_B door addLoadEvent(onload-opdracht van script_B);

Plaats in HEAD van jouw html pagina:
<script type="text/javascript" src="addLoadEvent.js"></script>
<script type="text/javascript" src="script_A.js"></script>
<script type="text/javascript" src="script_B.js"></script>

Dat is alles: beide scripts worden automatisch opgestart bij het inladen van de html pagina.
Je kunt op dezelfde manier zoveel scripts toevoegen als je wenst.



Copyright: Het internet is van iedereen, de volledige inhoud van deze site kan door iedereen vrij gebruikt worden.