Traditioneel, om een JavaScript functie aan te roepen zodra de pagina geladen is, voeg je een onload
attribuut toe aan de body dat een stukje JavaScript bevat (meestal alleen het aanroepen van een functie)
<body onload="foo()">
Als de pagina geladen is, wil ik wat JavaScript code uitvoeren om dynamisch delen van de pagina te vullen met gegevens van de server. Ik kan het onload
attribuut niet gebruiken omdat ik JSP fragmenten gebruik, die geen body
element hebben waar ik een attribuut aan kan toevoegen.
Is er een andere manier om een JavaScript functie aan te roepen bij het laden? Ik gebruik liever geen jQuery aangezien ik er niet erg vertrouwd mee ben.
Als je wilt dat de onload methode parameters aanneemt, kun je iets soortgelijks doen als dit:
window.onload = function() {
yourFunction(param1, param2);
};
Dit bindt onload aan een anonieme functie, die wanneer hij wordt aangeroepen, de gewenste functie zal uitvoeren, met de parameters die je hem geeft. En, natuurlijk, kun je meer dan één functie uitvoeren vanuit de anonieme functie.
*Uw oorspronkelijke vraag was onduidelijk, ervan uitgaande dat Kevin's bewerking/interpretatie correct is dan is deze eerste optie niet van toepassing'.
De typische opties is het gebruik van de onload
event:
<body onload="javascript:SomeFunction()">
....
Je kunt je javascript ook helemaal aan het eind van de body plaatsen; het zal dan pas beginnen te lopen als de doc compleet is.
<body>
...
<script type="text/javascript">
SomeFunction();
</script>
</body>
En, een andere mogelijkheid, is om te overwegen een JS framework te gebruiken dat dit intrinsiek doet:
// jQuery
$(document).ready( function () {
SomeFunction();
});
function yourfunction() { /* do stuff on page load */ }
window.onload = yourfunction;
Of met jQuery als je dat wilt:
$(function(){
yourfunction();
});
Als je meer dan één functie wilt aanroepen bij het laden van een pagina, kijk dan eens naar dit artikel voor meer informatie: