Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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 ⁨Juli 2015⁩.

Das load-Ereignis wird ausgelöst, wenn die gesamte Seite geladen ist, einschließlich aller abhängigen Ressourcen wie Stylesheets, Skripte (einschließlich asynchroner, verzögerter und Modul-Skripte), Iframes und Bilder, mit Ausnahme derjenigen, die lazy geladen werden. Dies steht im Gegensatz zum DOMContentLoaded, das ausgelöst wird, sobald das Seiten-DOM geladen ist, ohne darauf zu warten, dass die Ressourcen das Laden abgeschlossen haben.

Dieses Ereignis kann nicht abgebrochen werden und wird nicht weitergereicht.

Hinweis: Alle Ereignisse mit dem Namen load werden nicht an Window weitergereicht, selbst wenn bubbles auf true gesetzt ist. Um load-Ereignisse im window zu erfassen, muss dieses load-Ereignis direkt an das window gesendet werden.

Hinweis: Das load-Ereignis, 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 zwei Eigenschaften sind aufgrund der Einhaltung älterer Standards verändert.

Um zu vermeiden, dass ein Skript ausgeführt wird, bevor das DOM, das es manipuliert, vollständig konstruiert wurde, können Sie das Skript am Ende des Dokumentkörpers platzieren, unmittelbar vor dem schließenden </body>-Tag, ohne es in einen Ereignis-Listener zu verpacken. Sie sollten das load-Ereignis in der Regel nur verwenden, um auf das Laden externer Ressourcen, wie Bilder oder verzögerte Skripte, zu warten.

Syntax

Verwenden Sie den Ereignisnamen in Methoden wie addEventListener() oder setzen Sie eine Ereignis-Handler-Eigenschaft.

js
addEventListener("load", (event) => { })

onload = (event) => { }

Ereignistyp

Ein generisches Event.

Beispiele

Protokollieren Sie eine Nachricht, wenn die Seite vollständig geladen ist:

js
window.addEventListener("load", (event) => {
  console.log("page is fully loaded");
});

Dasselbe, aber mit der onload-Ereignis-Handler-Eigenschaft:

js
window.onload = (event) => {
  console.log("page is fully loaded");
};

Live-Beispiel

HTML

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

js
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