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-Ereignis

Baseline
Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.

Das load-Ereignis wird ausgelöst, wenn die gesamte Seite geladen wurde, einschließlich aller benötigten Ressourcen wie Stylesheets, Skripten (auch asynchrone, verzögert geladene und Modulskripte), iframes und Bilder. Ausgenommen sind Ressourcen, die verzögert geladen werden. Im Gegensatz dazu wird DOMContentLoaded ausgelöst, sobald das DOM der Seite geladen wurde, ohne darauf zu warten, dass alle Ressourcen vollständig geladen sind.

Dieses Ereignis kann nicht abgebrochen werden und wird nicht nach oben weitergereicht.

Hinweis: Ereignisse mit dem Namen load werden nicht an Window weitergegeben, selbst wenn bubbles mit true initialisiert wurde. Damit ein load-Ereignis auf window erfasst werden kann, muss es direkt auf window ausgelöst werden.

Hinweis: Das load-Ereignis, das beim Laden des Hauptdokuments ausgelöst wird, wird auf window ausgelöst, hat jedoch zwei veränderte Eigenschaften: target ist document und path ist undefined. Diese beiden Eigenschaften wurden aus Gründen der Abwärtskompatibilität verändert.

Damit ein Skript nicht ausgeführt wird, bevor das DOM, das es verändert, vollständig aufgebaut ist, können Sie es am Ende des Dokumentkörpers unmittelbar vor dem schließenden </body>-Tag platzieren, ohne es in einen Event-Listener einzubinden. In der Regel sollten Sie das load-Ereignis nur verwenden, um auf das Laden externer Ressourcen wie Bilder oder verzögert geladene Skripte zu warten.

Syntax

Verwenden Sie den Ereignisnamen in addEventListener():

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

Alternativ können Sie die Event-Handler-Eigenschaft der Schnittstelle zuweisen:

js
onload = (event) => { }

Ereignistyp

Ein generisches Event.

Beispiele

Geben Sie eine Meldung aus, wenn die Seite vollständig geladen ist:

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

Dasselbe mit der onload-Event-Handler-Eigenschaft. Beachten Sie jedoch, dass dadurch gegebenenfalls andere mit onload hinzugefügte Event-Listener ersetzt werden:

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

Interaktives 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

Spezifikation
UI Events
# event-type-load
HTML
# delay-the-load-event

Browser-Kompatibilität

Siehe auch