[go: up one dir, main page]

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

View in English Always switch to English

PerformanceSoftNavigation

Eingeschränkt verfügbar

Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.

Want more browser support for this feature? Tell us why.

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.

Die Schnittstelle PerformanceSoftNavigation stellt Zeitinformationen zu Soft Navigations bereit, wie sie beim clientseitigen Routing auf Websites mit Single-Page Applications (SPAs) verwendet werden. Ein entsprechender Eintrag wird erzeugt, wenn ein Browser feststellt, dass eine Soft Navigation stattgefunden hat.

Instanzeigenschaften

Diese Schnittstelle definiert unmittelbar die folgenden Eigenschaften:

PerformanceSoftNavigation.interactionId Schreibgeschützt

Die ID der Interaktion, die zur Soft Navigation geführt hat.

PerformanceSoftNavigation.navigationType Schreibgeschützt

Der Typ der Navigation.

PerformanceSoftNavigation.paintTime Schreibgeschützt

Gibt den timestamp zurück, zu dem die erste Rendering-Phase endete und die Paint-Phase begann.

PerformanceSoftNavigation.presentationTime Schreibgeschützt

Gibt den timestamp zurück, zu dem die ersten gerenderten Pixel tatsächlich auf dem Bildschirm dargestellt wurden.

Außerdem übernimmt sie die folgenden Eigenschaften von PerformanceEntry und konkretisiert oder beschränkt sie wie beschrieben:

PerformanceEntry.entryType Schreibgeschützt

Gibt "soft-navigation" zurück.

PerformanceEntry.duration Schreibgeschützt

Gibt das Ergebnis von PerformanceSoftNavigation.presentationTime - PerformanceEntry.startTime zurück.

PerformanceEntry.name Schreibgeschützt

Die neue URL, zu der navigiert wurde.

PerformanceEntry.startTime Schreibgeschützt

Gibt den timestamp der Interaktion zurück, die zur Soft Navigation geführt hat.

Instanzmethoden

PerformanceSoftNavigation.getLargestInteractionContentfulPaint()

Gibt den derzeit größten InteractionContentfulPaint für diese Soft Navigation zurück.

PerformanceSoftNavigation.toJSON()

Gibt ein JSON-serialisierbares einfaches Objekt zurück, das das Objekt PerformanceSoftNavigation repräsentiert. Wird automatisch von JSON.stringify() aufgerufen.

Beschreibung

Die Schnittstelle PerformanceSoftNavigation basiert darauf, dass der Browser Folgendes beobachtet:

  • Eine vertrauenswürdige Benutzerinteraktion.
  • Einen sichtbaren Contentful Paint, der daraus resultiert, dass diese Interaktion den Bildschirminhalt aktualisiert.
  • Eine Aktualisierung der URL in der Adressleiste des Benutzers infolge dieser Interaktion.

Dass der Browser diesen Eintrag bereitstellt, statt dass ein Routing-Framework eine API aufruft, um ihn zu erzeugen, ermöglicht eine einheitliche Messung der Zeitwerte für die SPA-Performance – unabhängig davon, wie verschiedene Anwendungen Navigationen handhaben (beispielsweise, ob sie die URL zu Beginn oder am Ende der Navigationsverarbeitung aktualisieren).

Mit der Schnittstelle PerformanceSoftNavigation können Entwickler SPA-Performance-Metriken wie die folgenden messen:

Beispiele

Soft Navigations beobachten

Im folgenden Beispiel wird ein PerformanceObserver verwendet, um Soft Navigations zu protokollieren. Das Flag buffered ermöglicht den Zugriff auf Daten, die vor der Erstellung des Observers erfasst wurden.

js
const observer = new PerformanceObserver((list) => {
  for (const entry of list.getEntries()) {
    console.log("Soft Nav:", entry.startTime, entry.name);
  }
});
observer.observe({ type: "soft-navigation", buffered: true });

Spezifikationen

Spezifikation
Soft Navigations and Interaction Contentful Paint
# sec-interface

Browser-Kompatibilität

Siehe auch