Window: load-Event
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Das load
-Event wird ausgelöst, wenn die gesamte Seite geladen ist, einschließlich aller abhängigen Ressourcen wie Stylesheets, Skripte, iframes
und Bilder, mit Ausnahme derer, die lazy geladen werden.
Dies steht im Gegensatz zu DOMContentLoaded
, das ausgelöst wird, sobald das DOM der Seite geladen wurde, ohne darauf zu warten, dass die Ressourcen fertig geladen sind.
Dieses Ereignis kann nicht abgebrochen werden und wird nicht weitergeleitet.
Note: Alle Ereignisse mit dem Namen
load
werden nicht anWindow
weitergeleitet, selbst wennbubbles
auftrue
initialisiert ist. Umload
-Ereignisse auf demwindow
zu erfassen, muss diesesload
-Ereignis direkt an daswindow
gesendet werden.
Hinweis:
Das load
-Event, das ausgelöst wird, wenn das Hauptdokument geladen ist, wird auf dem window
ausgelöst, hat jedoch zwei veränderte Eigenschaften: target
ist document
und path
ist undefined
. Diese beiden Eigenschaften sind aufgrund der Einhaltung älterer Standards verändert.
Syntax
Verwenden Sie den Ereignisnamen in Methoden wie addEventListener()
oder setzen Sie eine Ereignishandler-Eigenschaft.
addEventListener("load", (event) => { })
onload = (event) => { }
Ereignistyp
Ein generisches Event
.
Beispiele
Protokollieren Sie eine Nachricht, wenn die Seite vollständig geladen ist:
window.addEventListener("load", (event) => {
console.log("page is fully loaded");
});
Dasselbe, aber mit der onload
-Ereignishandler-Eigenschaft:
window.onload = (event) => {
console.log("page is fully loaded");
};
Live-Beispiel
HTML
<div class="controls">
<button id="reload" type="button">Reload</button>
</div>
<div class="event-log">
<label for="eventLog">Event log:</label>
<textarea
readonly
class="event-log-contents"
rows="8"
cols="30"
id="eventLog"></textarea>
</div>
JavaScript
const log = document.querySelector(".event-log-contents");
const reload = document.querySelector("#reload");
reload.addEventListener("click", () => {
log.textContent = "";
setTimeout(() => {
window.location.reload(true);
}, 200);
});
window.addEventListener("load", (event) => {
log.textContent += "load\n";
});
document.addEventListener("readystatechange", (event) => {
log.textContent += `readystate: ${document.readyState}\n`;
});
document.addEventListener("DOMContentLoaded", (event) => {
log.textContent += `DOMContentLoaded\n`;
});
Ergebnis
Spezifikationen
Specification |
---|
UI Events # event-type-load |
HTML # delay-the-load-event |
Browser-Kompatibilität
Siehe auch
- Document readyState API
- Verwandte Ereignisse: