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

View in English Always switch to English

Dokument: prerendering-Eigenschaft

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.

Die schreibgeschützte Eigenschaft prerendering des Document Interface gibt true zurück, wenn das Dokument derzeit im Prozess des Prerendings ist, wie über die Speculation Rules API initiiert.

Wert

Ein boolescher Wert. Gibt true zurück, wenn das Dokument derzeit im Prozess des Prerendings ist, und false, wenn es dies nicht ist. false wird für Dokumente zurückgegeben, die das Prerendering abgeschlossen haben, und für Dokumente, die nicht prerendert wurden.

Beispiele

Um eine Aktivität auszuführen, während die Seite prerendert wird, können Sie die prerendering-Eigenschaft überprüfen. Sie könnten zum Beispiel einige Analysen durchführen:

js
if (document.prerendering) {
  analytics.sendInfo("got this far during prerendering!");
}

Wenn ein prerendertes Dokument aktiviert wird, wird PerformanceNavigationTiming.activationStart auf einen DOMHighResTimeStamp Wert gesetzt, der die Zeit zwischen dem Start des Prerendings und der tatsächlichen Aktivierung des Dokuments darstellt. Die folgende Funktion kann sowohl für prerendernde als auch für prerendert fortgeschrittene Seiten überprüfen:

js
function pagePrerendered() {
  return (
    document.prerendering ||
    performance.getEntriesByType("navigation")[0]?.activationStart > 0
  );
}

Wenn die prerendert-Seite durch das Betrachten durch den Benutzer aktiviert wird, wird das prerenderingchange Ereignis ausgelöst. Dies kann verwendet werden, um Aktivitäten zu aktivieren, die zuvor standardmäßig beim Laden der Seite gestartet würden, die Sie jedoch verzögern möchten, bis die Seite tatsächlich vom Benutzer betrachtet wird. Der folgende Code richtet einen Ereignis-Listener ein, um eine Funktion auszuführen, sobald das Prerendering beendet ist, auf einer prerendert-Seite, oder führt sie sofort auf einer nicht prerendert-Seite aus:

js
if (document.prerendering) {
  document.addEventListener("prerenderingchange", initAnalytics, {
    once: true,
  });
} else {
  initAnalytics();
}

Hinweis: Weitere Informationen darüber, welche Art von Aktivitäten Sie möglicherweise verzögern möchten, finden Sie auf der Speculation Rules API Startseite und insbesondere im Abschnitt Unsichere spekulative Ladebedingungen.

Um zu messen, wie oft ein Prerender aktiviert wird, kombinieren Sie alle drei APIs: document.prerendering, um Fälle zu erkennen, in denen die Seite derzeit prerendert wird, prerenderingchange, um auf Aktivierungen in diesem Fall zu achten, und activationStart, um Fälle zu überprüfen, in denen die Seite in der Vergangenheit prerendert wurde.

js
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
# dom-document-prerendering

Browser-Kompatibilität

Siehe auch