Traditionnellement, pour appeler une fonction JavaScript une fois la page chargée, vous ajoutez un attribut onload
au corps de la page contenant un peu de JavaScript (généralement, il s'agit uniquement d'appeler une fonction).
<body onload="foo()">
Une fois la page chargée, je veux exécuter du code JavaScript pour remplir dynamiquement des parties de la page avec des données provenant du serveur. Je ne peux pas utiliser l'attribut onload
car j'utilise des fragments JSP, qui n'ont pas d'élément body
auquel je peux ajouter un attribut.
Existe-t-il un autre moyen d'appeler une fonction JavaScript au chargement ? Je préfère ne pas utiliser jQuery, car je ne le connais pas très bien.
Si vous voulez que la méthode onload prenne des paramètres, vous pouvez faire quelque chose de similaire à ceci :
window.onload = function() {
yourFunction(param1, param2);
};
Cela lie onload à une fonction anonyme qui, lorsqu'elle est invoquée, exécute la fonction souhaitée, avec les paramètres que vous lui donnez. Et, bien sûr, vous pouvez exécuter plus d'une fonction à l'intérieur de la fonction anonyme.
**Votre question originale n'était pas claire, en supposant que la modification/interprétation de Kevin est correcte, la première option ne s'applique pas.
L'option typique est d'utiliser l'événement onload
:
<body onload="javascript:SomeFunction()">
....
Vous pouvez également placer votre javascript à la toute fin du corps ; il ne commencera à s'exécuter que lorsque le document sera complet.
<body>
...
<script type="text/javascript">
SomeFunction();
</script>
</body>
Une autre option consiste à envisager l'utilisation d'un framework JS qui fait intrinsèquement cela :
// jQuery
$(document).ready( function () {
SomeFunction();
});
function yourfunction() { /* do stuff on page load */ }
window.onload = yourfunction;
Ou avec jQuery si vous voulez :
$(function(){
yourfunction();
});
Si vous voulez appeler plus d'une fonction au chargement de la page, jetez un coup d'œil à cet article pour plus d'informations :
[1] : http://www.webreference.com/programming/javascript/onloads/