PerformanceNavigationTiming: activationStart-Eigenschaft
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig, bevor Sie diese produktiv verwenden.
Die activationStart
-Eigenschaft, die nur gelesen werden kann, stellt die Zeitspanne dar, die zwischen dem Beginn des Prerendering eines Dokuments und seiner Aktivierung liegt.
Wert
Ein DOMHighResTimeStamp
, der die Dauer zwischen dem Start des Prerendering des Dokuments und der Aktivierung in Millisekunden darstellt.
Der Wert ist 0
, wenn die Seite nicht prerendert wurde oder sich noch im Prerendering befindet.
Beispiele
Erkennung von prerendered Seiten
Wenn ein dokumentiert prerenderte Dokument aktiviert wird, wird activationStart
auf die aktuelle Zeit gesetzt. Die folgende Funktion kann überprüfen, ob eine Seite prerendering
ist oder bereits prerendert wurde:
function pagePrerendered() {
return (
document.prerendering ||
self.performance?.getEntriesByType?.("navigation")[0]?.activationStart > 0
);
}
Messung von leistungsbezogenen Meilensteinen, die von Nutzern wahrgenommen werden
Bei prerendered Seiten könnte eine Seite schon lange vor der eigentlichen Navigation erstellt worden sein. Wenn die Performance API auf prerendered Seiten verwendet wird, ist es wichtig, die zurückgegebenen Werte mit activationStart
zu vergleichen, um irreführende Messungen zu vermeiden.
// Time to when activation occurred
let activationStart =
performance.getEntriesByType("navigation")[0].activationStart;
// Time to first paint
let firstPaint = performance.getEntriesByName("first-paint")[0].startTime;
// Time to first contentful paint
let firstContentfulPaint = performance.getEntriesByName(
"first-contentful-paint",
)[0].startTime;
console.log("time to first paint: " + (firstPaint - activationStart));
console.log(
"time to first-contentful-paint: " + (firstContentfulPaint - activationStart),
);
Spezifikationen
Specification |
---|
Prerendering Revamped # dom-performancenavigationtiming-activationstart |
Browser-Kompatibilität
BCD tables only load in the browser