window.onload()La méthode est utilisée pour exécuter une opération immédiatement après le chargement de la page web ; c'est-à-dire qu'une fois que le document HTML a fini de se charger, une méthode est exécutée immédiatement.
window.onload()Généralement utilisée sur l'élément <body> pour exécuter du code de script après le chargement complet de la page (y compris les images, les fichiers CSS, etc.).
Syntaxe lorsqu'il n'y a qu'une seule fonction à exécuter :
window.onload = funcRef;
La méthode funcRef sera appelée après que la page a fini de se charger.
Syntaxe lorsqu'il y a plusieurs fonctions à exécuter :
window.onload=function(){
Func1();
Func2();
Func3();
.....
}
Une fois la page chargée, Func1, Func2 et Func3 seront exécutées dans l'ordre.
Pourquoi utiliser window.onload() ?
Parce que les méthodes de fonction JavaScript ne peuvent être utilisées qu'après le rendu complet du document HTML. Si le rendu n'est pas terminé, l'arbre DOM est incomplet à ce moment-là, donc appeler du code JavaScript peut entraîner une erreur "undefined".
Exemple
Essayez-le vous-même »
Dans l'exemple ci-dessus, l'effet que nous voulons obtenir est de définir la couleur d'arrière-plan du div sur #F90, mais cet effet n'a pas été obtenu car le code est exécuté séquentiellement. Lorsque l'exécution atteintdocument.getElementById("#bg").style.backgroundColor="#F00"l'objet div n'a pas encore été chargé, donc la couleur d'arrière-plan n'a pas été définie avec succès. Le message d'erreur est le suivant :

Nous pouvons ajouter window.onload et il s'exécutera normalement. Le code modifié est le suivant :
Exemple
Essayez-le vous-même »
L'événement window.onload associe une fonction de gestionnaire d'événement. Il associe une fonction anonyme, et bien sûr, vous pouvez aussi associer une fonction nommée. L'exemple de code est le suivant :
Exemple
Essayez-le vous-même »
Exemple avec plusieurs fonctions à exécuter :
Exemple
Essayez-le vous-même »
La différence entre window.onload et jQuery ready()
window.onload = function () {}; // JavaScript
$(document).ready(function () {}); // jQuery
Les deux méthodes ci-dessus exécutent des opérations DOM après le chargement complet du document HTML, mais elles présentent encore certaines différences, comme le montre la figure ci-dessous :
