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.

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

Das PerformanceSoftNavigation-Interface liefert Zeitinformationen über softe Navigationen, wie sie von clientseitigem Routing auf Single-Page-Application (SPA)-Seiten verwendet werden. Es wird ausgegeben, wenn ein Browser beobachtet, dass eine softe Navigation stattgefunden hat.

Instanzeigenschaften

Dieses Interface definiert direkt die folgenden Eigenschaften:

PerformanceSoftNavigation.interactionId Schreibgeschützt

Die ID der Navigation, die für diesen Seitenaufruf einzigartig ist.

PerformanceSoftNavigation.navigationType Schreibgeschützt

Der Typ der Navigation.

PerformanceSoftNavigation.paintTime Schreibgeschützt

Gibt den Zeitstempel zurück, wann die erste Renderphase endete und die Malphase begann.

PerformanceSoftNavigation.presentationTime Schreibgeschützt

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

Es erweitert außerdem 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 soften Navigation führte.

Instanzmethoden

PerformanceSoftNavigation.getLargestInteractionContentfulPaint()

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

PerformanceSoftNavigation.toJSON()

Überschreibt die PerformanceEntry.toJSON()-Methode, um eine JSON-Repräsentation des PerformanceSoftNavigation-Objekts zurückzugeben.

Beschreibung

Das PerformanceSoftNavigation-Interface wird durch den Browser getrieben, der Folgendes beobachtet:

  • Eine vertrauenswürdige Benutzerinteraktion.
  • Einen sichtbaren, contentreichen Paint als Ergebnis dieser Interaktion, die den Bildschirm aktualisiert.
  • Ein URL-Update in der Adressleiste des Benutzers als Resultat dieser Interaktion.

Wenn der Browser dies bereitstellt, anstatt dass ein Routing-Framework eine API aufruft, um diesen Eintrag auszugeben, können SPA-Leistungszeiten konsistent gemessen werden, unabhängig davon, wie verschiedene Anwendungen Navigationen handhaben (zum Beispiel das Aktualisieren der URL am Beginn oder Ende der Navigationsverarbeitung).

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

Beispiele

Beobachten von soften Navigationen

Im folgenden Beispiel wird ein PerformanceObserver verwendet, um die soften 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