PerformanceNavigationTiming: Eigenschaft `type`
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since October 2021.
Die schreibgeschützte Eigenschaft type
gibt den Typ der Navigation zurück.
Sie können diese Eigenschaft verwenden, um Ihre Navigationszeitdaten zu kategorisieren, da jeder dieser Typen unterschiedliche Leistungsmerkmale aufweist. Benutzer, die vor- und zurückblättern, könnten eine schnellere Website erleben als Benutzer, die zum ersten Mal navigieren oder Formulare absenden usw.
Wenn Ihre Website beispielsweise häufig neue Inhalte bereitstellt, möchten Sie diese Inhalte möglicherweise mit Fetch oder Ähnlichem aktualisieren und vermeiden, dass Benutzer ständig die ganze Seite neu laden müssen. Der Typ "reload"
kann Ihnen helfen, Seiten zu finden, die häufig neu geladen werden.
Wert
Die Eigenschaft type
kann die folgenden Werte haben:
-
Navigation, die durch das Klicken auf einen Link, die Eingabe der URL in die Adressleiste des Browsers, das Absenden eines Formulars oder die Initialisierung durch eine Skriptoperation außer
reload
undback_forward
wie unten aufgeführt, gestartet wurde. "reload"
-
Navigation über die Neuladungsoperation des Browsers,
location.reload()
oder eine Refresh-Pragma-Direktive wie<meta http-equiv="refresh" content="300">
. "back_forward"
-
Navigation über die Verlauf-Navigationsoperation des Browsers.
"prerender"
-
Navigation, die durch einen Prerender-Hinweis eingeleitet wurde.
Beispiele
Protokollieren von Neuladungs-Navigation
Die Eigenschaft type
kann verwendet werden, um zu überprüfen, ob die Navigation vom Typ reload
war. Sie könnten diese reload
-Einträge an einem serverseitigen Endpunkt sammeln, um festzustellen, welche Seiten Ihrer Website am häufigsten neu geladen werden, oder alle Navigationstypen sammeln und beispielsweise bestimmen, welcher Prozentsatz der Benutzer vor- und zurückgeht.
Beispiel mit einem PerformanceObserver
, der über neue navigation
-Leistungseinträge informiert, sobald diese in der Leistungstimeline des Browsers aufgezeichnet werden. Verwenden Sie die Option buffered
, um auf Einträge von vor der Erstellung des Observers zuzugreifen.
const observer = new PerformanceObserver((list) => {
list.getEntries().forEach((entry) => {
if (entry.type === "reload") {
console.log(`${entry.name} was reloaded!`);
console.log(entry);
}
});
});
observer.observe({ type: "navigation", buffered: true });
Beispiel mit Performance.getEntriesByType()
, das nur navigation
-Leistungseinträge zeigt, die zum Zeitpunkt des Aufrufs dieser Methode in der Leistungstimeline des Browsers vorhanden sind:
const entries = performance.getEntriesByType("navigation");
entries.forEach((entry) => {
if (entry.type === "reload") {
console.log(`${entry.name} was reloaded!`);
console.log(entry);
}
});
Spezifikationen
Specification |
---|
Navigation Timing Level 2 # dom-performancenavigationtiming-type |