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 PerformanceSoftNavigation-Schnittstelle stellt Timing-Informationen zu Soft-Navigationen bereit, wie sie beim clientseitigen Routing auf Websites von Single-Page-Anwendungen (SPAs) verwendet werden. Ein entsprechender Eintrag wird erzeugt, wenn ein Browser feststellt, dass eine Soft-Navigation stattgefunden hat.

Instanzeigenschaften

Diese Schnittstelle definiert direkt die folgenden Eigenschaften:

PerformanceSoftNavigation.interactionId Schreibgeschützt

Die ID der Navigation, die innerhalb dieses Seitenladevorgangs eindeutig ist.

PerformanceSoftNavigation.navigationType Schreibgeschützt

Der Typ der Navigation.

PerformanceSoftNavigation.paintTime Schreibgeschützt

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

PerformanceSoftNavigation.presentationTime Schreibgeschützt

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

Sie erweitert außerdem die folgenden Eigenschaften von PerformanceEntry, wobei diese wie beschrieben konkretisiert und eingeschränkt werden:

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 Zeitstempel der Interaktion zurück, die zur Soft-Navigation führte.

Instanzmethoden

PerformanceSoftNavigation.getLargestInteractionContentfulPaint()

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

PerformanceSoftNavigation.toJSON()

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

Beschreibung

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

  • Eine vertrauenswürdige Benutzerinteraktion.
  • Ein sichtbares Contentful Paint, bei dem der Bildschirm infolge dieser Interaktion aktualisiert wird.
  • 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 konsistente Messung der SPA-Performance-Timings – unabhängig davon, wie verschiedene Anwendungen Navigationen handhaben (beispielsweise ob sie die URL zu Beginn oder am Ende der Navigationsverarbeitung aktualisieren).

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

Beispiele

Soft-Navigationen beobachten

Im folgenden Beispiel wird ein PerformanceObserver verwendet, um Soft-Navigationen zu protokollieren. Das buffered-Flag wird verwendet, um auf Daten aus der Zeit vor der Erstellung des Observers zuzugreifen.

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