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

View in English Always switch to English

PerformanceScriptTiming

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 PerformanceScriptTiming-Schnittstelle wird im Long Animation Frames API spezifiziert und bietet Metriken zu einzelnen Skripten, die zu langen Animationsbilderrahmen (LoAFs) beitragen.

Beschreibung

Lange Animationsbilderrahmen (LoAFs) sind Rendering-Aktualisierungen, die über 50ms hinaus verzögert werden. LoAFs können zu langsamen Benutzeroberflächen-Updates führen, wodurch Bedienelemente unempfindlich erscheinen und ruckelige (nicht gleichmäßige) Animationseffekte und Scrolling verursacht werden. Dies führt häufig zu Benutzerfrustration.

Die PerformanceScriptTiming-Schnittstelle (Instanzen davon werden über die PerformanceLongAnimationFrameTiming.scripts-Eigenschaft abgerufen) bietet das folgende detaillierte Informationspaket zu einzelnen Skripten, die zu LoAFs beitragen, sodass Entwickler ihre Ursachen eingrenzen können:

  • Ein detailliertes Set von Zeitstempeln für jedes Skript.
  • Die Identität und der Typ des Aufrufers, d.h. die Funktion, die beim Aufrufen das Skript ausgeführt hat.
  • Detaillierte Informationen zu jeder Skript-Quelldatei, einschließlich der URL und des Funktionsnamens sowie der Zeichenposition, die zur LoAF beitrugen.

PerformanceScriptTiming erbt von PerformanceEntry.

PerformanceEntry PerformanceScriptTiming

Instanz-Eigenschaften

Diese Schnittstelle erweitert die folgenden PerformanceEntry-Eigenschaften für Leistungsdaten zu langen Animationsbilderrahmen:

PerformanceEntry.duration Schreibgeschützt

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

PerformanceEntry.entryType Schreibgeschützt

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

PerformanceEntry.name Schreibgeschützt

Gibt den Namen des Eintrags zurück, der immer "script" ist.

PerformanceEntry.startTime Schreibgeschützt

Gibt einen DOMHighResTimeStamp zurück, der die Zeit angibt, wann die Skriptausführung in Millisekunden begann.

Diese Schnittstelle unterstützt auch die folgenden Eigenschaften:

PerformanceScriptTiming.executionStart Schreibgeschützt

Gibt einen DOMHighResTimeStamp zurück, der die Zeit angibt, wann die Skriptkompilierung beendet und die Ausführung begonnen hat.

PerformanceScriptTiming.forcedStyleAndLayoutDuration Schreibgeschützt

Gibt einen DOMHighResTimeStamp zurück, der die gesamte Zeit angibt, die das Skript mit der Verarbeitung erzwungener Layouts/Styles verbracht hat. Siehe Vermeiden von Layout Thrashing, um zu verstehen, was dies verursacht.

PerformanceScriptTiming.invoker Schreibgeschützt

Gibt einen Zeichenfolgenwert zurück, der die Identität der Funktion angibt, die beim Aufrufen das Skript ausgeführt hat.

PerformanceScriptTiming.invokerType Schreibgeschützt

Gibt einen Zeichenfolgenwert zurück, der den Typ der Funktion angibt, die beim Aufrufen das Skript ausgeführt hat.

PerformanceScriptTiming.pauseDuration Schreibgeschützt

Gibt einen DOMHighResTimeStamp zurück, der die gesamte Zeit, in Millisekunden, angibt, die das Skript für das "Pausieren" synchroner Operationen aufgewendet hat (zum Beispiel, Window.alert()-Aufrufe oder synchrone XMLHttpRequests).

PerformanceScriptTiming.sourceCharPosition Schreibgeschützt

Gibt eine Zahl zurück, die die Zeichenposition des Skripts im Skriptmerkmal angibt, das zur LoAF beitrug.

PerformanceScriptTiming.sourceFunctionName Schreibgeschützt

Gibt eine Zeichenfolge zurück, die den Namen der Funktion angibt, die zur LoAF beitrug.

PerformanceScriptTiming.sourceURL Schreibgeschützt

Gibt eine Zeichenfolge zurück, die die URL des Skripts angibt.

PerformanceScriptTiming.window Schreibgeschützt

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

PerformanceScriptTiming.windowAttribution Schreibgeschützt

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

Instanz-Methoden

PerformanceScriptTiming.toJSON()

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

Beispiele

Siehe Zeitmessung langes Animationsbild für Beispiele zum Long Animation Frames API.

Spezifikationen

Spezifikation
Long Animation Frames API
# sec-PerformanceScriptTiming

Browser-Kompatibilität

Siehe auch