PerformanceScriptTiming

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

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

Das PerformanceScriptTiming-Interface ist im Long Animation Frames API spezifiziert und bietet Metriken zu einzelnen Skripten, die zu langen Animationsrahmen (LoAFs) beitragen.

Beschreibung

Lange Animationsrahmen (LoAFs) sind Rendering-Aktualisierungen, die um mehr als 50 ms verzögert werden. LoAFs können zu langsamen Benutzeroberflächen-Updates führen, wodurch Bedienelemente unempfindlich erscheinen und ruckelige (nicht ausreichende) Animationseffekte und Bildlauf entstehen. Dies führt oft zu Benutzerfrustration.

Das PerformanceScriptTiming-Interface (dessen Instanzen über die Eigenschaft PerformanceLongAnimationFrameTiming.scripts aufgerufen werden) bietet die folgende detaillierte Informationsmenge über einzelne Skripte, die zu LoAFs beitragen, und ermöglicht Entwicklern, deren Ursachen einzugrenzen:

  • Ein detaillierter Satz von Zeitstempeln für jedes Skript.
  • Die Identität und der Typ des Aufrufers, d.h. die Funktionalität, die beim Aufruf das Skript ausgeführt hat.
  • Detaillierte Informationen über jede Skriptquelle, einschließlich der URL, des Funktionsnamens und der Zeichenposition, die zum LoAF beigetragen haben.

PerformanceScriptTiming erbt von PerformanceEntry.

PerformanceEntry PerformanceScriptTiming

Instanz-Eigenschaften

Dieses Interface erweitert die folgenden PerformanceEntry-Eigenschaften für Langzeit-Animationsrahmen-Leistungseinträge:

PerformanceEntry.duration Schreibgeschützt Experimentell

Gibt einen DOMHighResTimeStamp zurück, der die verstrichene Zeit in Millisekunden zwischen dem Beginn und dem Ende der Skriptausführung darstellt.

PerformanceEntry.entryType Schreibgeschützt Experimentell

Gibt den Eintragstyp zurück, der immer "script" ist.

PerformanceEntry.name Schreibgeschützt Experimentell

Gibt den Eintragsnamen zurück, der immer "script" ist.

PerformanceEntry.startTime Schreibgeschützt Experimentell

Gibt einen DOMHighResTimeStamp zurück, der die Zeit angibt, zu der die Skriptausführung gestartet wurde, in Millisekunden.

Dieses Interface unterstützt auch die folgenden Eigenschaften:

PerformanceScriptTiming.executionStart Schreibgeschützt Experimentell

Gibt einen DOMHighResTimeStamp zurück, der den Zeitpunkt angibt, zu dem die Skriptkompilierung beendet und die Ausführung gestartet wurde.

PerformanceScriptTiming.forcedStyleAndLayoutDuration Schreibgeschützt Experimentell

Gibt einen DOMHighResTimeStamp zurück, der die Gesamtzeit angibt, die in Millisekunden durch die Skriptverarbeitung erzwungener Layout-/Stiländerungen verbracht wurde. Sehen Sie sich Vermeiden von Layout-Thrashing an, um zu verstehen, was dies verursacht.

PerformanceScriptTiming.invoker Schreibgeschützt Experimentell

Gibt einen String-Wert zurück, der die Identität der Funktionalität angibt, die beim Aufruf das Skript ausgeführt hat.

PerformanceScriptTiming.invokerType Schreibgeschützt Experimentell

Gibt einen String-Wert zurück, der den Typ der Funktionalität angibt, die beim Aufruf das Skript ausgeführt hat.

PerformanceScriptTiming.pauseDuration Schreibgeschützt Experimentell

Gibt einen DOMHighResTimeStamp zurück, der die Gesamtzeit in Millisekunden angibt, die das Skript für das "Pausieren" synchroner Operationen (z.B. Window.alert()-Aufrufe oder synchroner XMLHttpRequests) benötigt.

PerformanceScriptTiming.sourceCharPosition Schreibgeschützt Experimentell

Gibt eine Zahl zurück, die die Zeichenposition des Skriptfeatures angibt, das zum LoAF beigetragen hat.

PerformanceScriptTiming.sourceFunctionName Schreibgeschützt Experimentell

Gibt einen String zurück, der den Namen der Funktion angibt, die zum LoAF beigetragen hat.

PerformanceScriptTiming.sourceURL Schreibgeschützt Experimentell

Gibt einen String zurück, der die URL des Skripts darstellt.

PerformanceScriptTiming.window Schreibgeschützt Experimentell

Gibt einen Verweis auf ein Window-Objekt zurück, das das window des Containers (d.h. entweder das Top-Level-Dokument oder ein <iframe>) darstellt, in dem das LoAF-verursachende Skript ausgeführt wurde.

PerformanceScriptTiming.windowAttribution Schreibgeschützt Experimentell

Gibt einen enumerierten Wert zurück, der die Beziehung des Containers (d.h. entweder das Top-Level-Dokument oder ein <iframe>) beschreibt, in dem das LoAF-verursachende Skript ausgeführt wurde, relativ zum Fenster, das das aktuelle Dokument ausführt.

Instanz-Methoden

PerformanceScriptTiming.toJSON() Experimentell

Gibt eine JSON-Repräsentation des PerformanceScriptTiming-Objekts zurück.

Beispiele

Siehe Langzeit-Animationsrahmen-Timing für Beispiele im Zusammenhang mit dem Long Animation Frames API.

Spezifikationen

Specification
Long Animation Frames API
# sec-PerformanceScriptTiming

Browser-Kompatibilität

Siehe auch