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: pageshow-Event

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 pageshow-Event wird an ein Window gesendet, wenn der Browser zu einem neuen Dokument navigiert.

Dies umfasst:

  • Initiales Laden der Seite.
  • Navigieren zur Seite von einer anderen Seite im gleichen Fenster oder Tab.
  • Wiederherstellen einer eingefrorenen Seite auf mobilen Betriebssystemen.
  • Zurückkehr zur Seite mittels der Vorwärts- oder Rückwärtsbuttons des Browsers (einschließlich wenn sie aus dem bfcache wiederhergestellt wird).
  • Öffnen einer Seite in einem Hintergrund-Tab.
  • Prerendern einer Seite, noch bevor diese aktiviert wird.

Warnung: Trotz des Namens wird das pageshow-Event nicht ausgelöst, wenn die Seite tatsächlich dem Benutzer gezeigt wird. Zum Beispiel könnte sie in einem Hintergrund-Tab geöffnet oder prerendert werden. Wenn Sie interessiert daran sind zu reagieren, wenn die Seite dem Benutzer gezeigt wird, nutzen Sie die folgenden Ereignisse:

  • pagereveal: Wird gesendet, wenn eine Seite erstmals gerendert wird.
  • visibilitychange: Wird jedes Mal gesendet, wenn sich die Sichtbarkeit einer Seite ändert.
  • prerenderingchange: Wird gesendet, wenn eine prerendered Seite aktiviert wird.

Hinweis: Während des initialen Seitenladens wird das pageshow-Event nach dem load-Event ausgelöst.

Syntax

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

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

onpageshow = (event) => { }

Ereignistyp

Ein PageTransitionEvent. Erbt von Event.

Event PageTransitionEvent

Event-Handler-Aliase

Zusätzlich zur Window-Schnittstelle ist die Event-Handler-Eigenschaft onpageshow ebenfalls auf folgenden Zielen verfügbar:

Beispiele

Dieses Beispiel richtet Event-Handler für Ereignisse ein, die im Array events aufgelistet sind. Der Handler eventLogger() protokolliert den Typ des aufgetretenen Ereignisses in die Konsole und enthält den Wert des persisted-Flags bei pageshow- und pagehide-Ereignissen.

JavaScript

js
const events = ["pagehide", "pageshow", "unload", "load"];

const eventLogger = (event) => {
  switch (event.type) {
    case "pagehide":
    case "pageshow": {
      let isPersisted = event.persisted ? "persisted" : "not persisted";
      console.log(`Event: ${event.type} - ${isPersisted}`);
      break;
    }
    default:
      console.log(`Event: ${event.type}`);
      break;
  }
};

events.forEach((eventName) => window.addEventListener(eventName, eventLogger));

HTML

html
<p>
  Open the console and watch the output as you navigate to and from this page.
  Try loading new pages into this tab, then navigating forward and backward
  through history, noting the events' output to the log.
</p>

Ergebnisse

Spezifikationen

Spezifikation
HTML
# event-pageshow

Browser-Kompatibilität

Siehe auch