window.onload()Die Methode wird verwendet, um sofort nach dem Laden der Webseite eine Operation auszuführen; das heißt, sobald das HTML-Dokument fertig geladen ist, wird sofort eine Methode ausgeführt.
window.onload()Wird normalerweise auf dem <body>-Element verwendet, um Skriptcode auszuführen, nachdem die Seite vollständig geladen wurde (einschließlich Bilder, CSS-Dateien usw.).
Syntax, wenn nur eine Funktion ausgeführt werden soll:
window.onload = funcRef;
Die Methode funcRef wird aufgerufen, nachdem die Seite fertig geladen wurde.
Syntax, wenn mehrere Funktionen ausgeführt werden sollen:
window.onload=function(){
Func1();
Func2();
Func3();
.....
}
Nachdem die Seite fertig geladen wurde, werden Func1, Func2 und Func3 in der Reihenfolge ausgeführt.
Warum window.onload() verwenden?
Weil JavaScript-Funktionsmethoden erst verwendet werden können, nachdem das HTML-Dokument fertig gerendert wurde. Wenn das Rendern nicht abgeschlossen ist, ist der DOM-Baum zu diesem Zeitpunkt unvollständig, sodass der Aufruf von JavaScript-Code zu einem "undefined"-Fehler führen kann.
Beispiel
Selbst ausprobieren »
Im obigen Beispiel ist der Effekt, den wir erzielen wollen, die Hintergrundfarbe des div auf #F90 zu setzen, aber dieser Effekt wurde nicht erreicht, weil der Code sequenziell ausgeführt wird. Wenn die Ausführungdocument.getElementById("#bg").style.backgroundColor="#F00" erreichtdas div-Objekt wurde noch nicht geladen, daher wurde die Hintergrundfarbe nicht erfolgreich gesetzt. Die Fehlermeldung lautet wie folgt:

Wir können window.onload hinzufügen, und es wird normal ausgeführt. Der geänderte Code lautet wie folgt:
Beispiel
Selbst ausprobieren »
Das window.onload-Ereignis bindet eine Event-Handler-Funktion. Es bindet eine anonyme Funktion, und natürlich können Sie auch eine benannte Funktion binden. Das Codebeispiel lautet wie folgt:
Beispiel
Selbst ausprobieren »
Beispiel mit mehreren auszuführenden Funktionen:
Beispiel
Selbst ausprobieren »
Der Unterschied zwischen window.onload und jQuery ready()
window.onload = function () {}; // JavaScript
$(document).ready(function () {}); // jQuery
Beide oben genannten Methoden führen DOM-Operationen aus, nachdem das HTML-Dokument vollständig geladen wurde, aber sie weisen dennoch gewisse Unterschiede auf, wie in der folgenden Abbildung dargestellt:
