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.

Das PerformanceSoftNavigation-Interface bietet Timing-Informationen über Soft-Navigationen, wie sie von clientseitigem Routing auf Single-Page-Application (SPA)-Seiten verwendet werden. Es wird erzeugt, wenn ein Browser eine Soft-Navigation beobachtet, die stattgefunden hat.

Instanz-Eigenschaften

Dieses Interface definiert direkt die folgenden Eigenschaften:

PerformanceSoftNavigation.interactionId Schreibgeschützt

Die ID der Navigation, einzigartig für dieses Seiten-Laden.

PerformanceSoftNavigation.navigationType Schreibgeschützt

Der Typ der Navigation.

PerformanceSoftNavigation.paintTime Schreibgeschützt

Gibt den Zeitstempel zurück, wann die erste Render-Phase endete und die Paint-Phase begann.

PerformanceSoftNavigation.presentationTime Schreibgeschützt

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

Es erweitert auch die folgenden PerformanceEntry-Eigenschaften, qualifiziert und 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 Zeitstempel der Interaktion zurück, die zur Soft-Navigation führte.

Instanz-Methoden

PerformanceSoftNavigation.getLargestInteractionContentfulPaint()

Gibt das aktuelle größte InteractionContentfulPaint für diese Soft-Navigation zurück.

PerformanceSoftNavigation.toJSON()

Überschreibt die PerformanceEntry.toJSON()-Methode, um eine JSON-Darstellung des PerformanceSoftNavigation-Objekts zu liefern.

Beschreibung

Das PerformanceSoftNavigation-Interface wird vom Browser gesteuert, der Folgendes beobachtet:

  • Eine vertrauenswürdige Benutzerinteraktion.
  • Eine sichtbare, inhaltliche Darstellung als Folge dieser Interaktion, die den Bildschirm aktualisiert.
  • Eine URL-Aktualisierung in der Adressleiste des Benutzers als Folge dieser Interaktion.

Dass der Browser dies bereitstellt, anstatt dass ein Routing-Framework eine API aufruft, um diesen Eintrag zu erzeugen, ermöglicht eine konsistente Messung der SPA-Leistungszeiten, unabhängig davon, wie verschiedene Anwendungen Navigationen handhaben (zum Beispiel das Aktualisieren der URL am Anfang oder am Ende der Navigationsverarbeitung).

Das PerformanceSoftNavigation-Interface ermöglicht Entwicklern die Messung von SPA-Leistungsmetriken wie:

Beispiele

Beobachtung von Soft-Navigationen

Im folgenden Beispiel wird ein PerformanceObserver verwendet, um die Soft-Navigationen zu protokollieren. Das buffered-Flag wird verwendet, um auf Daten 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