Dokument: prerenderingchange Event
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
Das prerenderingchange
Ereignis wird auf einem prerenderten Dokument ausgelöst, wenn es aktiviert wird (d.h. der Benutzer die Seite anzeigt).
Syntax
Verwenden Sie den Ereignisnamen in Methoden wie addEventListener()
, oder setzen Sie eine Ereignishandler-Eigenschaft.
addEventListener("prerenderingchange", (event) => {});
prerenderingchange = (event) => {};
Ereignistyp
Ein generisches Event
.
Beispiele
Verhindern, dass Code während des Prerenderings ausgeführt wird
Das Beispiel zeigt, wie Code, der sonst während des Prerenderings ausgeführt würde, so lange aufgeschoben wird, bis die Seite aktiviert wird. Dies ist nützlich, um Analyse-Code zu verschieben, der nur relevant ist, wenn und falls die Seite tatsächlich angesehen wird.
Der Code prüft, ob Prerendering läuft, indem Document.prerendering
verwendet wird, und fügt in diesem Fall einen Ereignislistener hinzu, um eine Analyse-Initialisierungsfunktion auszuführen, sobald die Seite aktiviert wird. Auf einer Seite, die nicht prerendert wird, wird der Analyse-Code sofort ausgeführt.
if (document.prerendering) {
document.addEventListener("prerenderingchange", initAnalytics, {
once: true,
});
} else {
initAnalytics();
}
Beachten Sie, dass dieser Code nicht verwendet werden sollte, um zu messen, wie oft ein Prerender aktiviert wird, da der Code möglicherweise ausgeführt wird, nachdem eine prerenderte Seite bereits aktiviert wurde.
Hinweis: Siehe die Speculation Rules API Startseite und insbesondere den Abschnitt Unsichere spekulative Ladebedingungen für weitere Informationen zu den Arten von Aktivitäten, die Sie nach Abschluss des Prerenderings verzögern möchten.
Messen von Prerendering-Aktivierungen
Dieser Code zeigt, wie oft ein Prerender aktiviert wird. Es nutzt prerenderingchange
, um Aktivierungsereignisse zu verfolgen, und Performance.getEntriesByType()
, um Navigationsaktivierungen zu verfolgen.
if (document.prerendering) {
document.addEventListener(
"prerenderingchange",
() => {
console.log("Prerender activated after this script ran");
},
{ once: true },
);
} else if (performance.getEntriesByType("navigation")[0]?.activationStart > 0) {
console.log("Prerender activated before this script ran");
} else {
console.log("This page load was not via prerendering");
}
Spezifikationen
Specification |
---|
Prerendering Revamped # eventdef-document-prerenderingchange |
Prerendering Revamped # dom-document-onprerenderingchange |
Browser-Kompatibilität
Siehe auch
- Speculation Rules API
prerendering
EigenschaftPerformanceNavigationTiming.activationStart
Eigenschaft