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.
Instanz-Eigenschaften
Diese Schnittstelle erweitert die folgenden PerformanceEntry-Eigenschaften für Leistungsdaten zu langen Animationsbilderrahmen:
PerformanceEntry.durationSchreibgeschützt-
Gibt einen
DOMHighResTimeStampzurück, der die verstrichene Zeit in Millisekunden zwischen dem Start und dem Ende der Skriptausführung darstellt. PerformanceEntry.entryTypeSchreibgeschützt-
Gibt den Eintragstyp zurück, der immer
"script"ist. PerformanceEntry.nameSchreibgeschützt-
Gibt den Namen des Eintrags zurück, der immer
"script"ist. PerformanceEntry.startTimeSchreibgeschützt-
Gibt einen
DOMHighResTimeStampzurück, der die Zeit angibt, wann die Skriptausführung in Millisekunden begann.
Diese Schnittstelle unterstützt auch die folgenden Eigenschaften:
PerformanceScriptTiming.executionStartSchreibgeschützt-
Gibt einen
DOMHighResTimeStampzurück, der die Zeit angibt, wann die Skriptkompilierung beendet und die Ausführung begonnen hat. PerformanceScriptTiming.forcedStyleAndLayoutDurationSchreibgeschützt-
Gibt einen
DOMHighResTimeStampzurü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.invokerSchreibgeschützt-
Gibt einen Zeichenfolgenwert zurück, der die Identität der Funktion angibt, die beim Aufrufen das Skript ausgeführt hat.
PerformanceScriptTiming.invokerTypeSchreibgeschützt-
Gibt einen Zeichenfolgenwert zurück, der den Typ der Funktion angibt, die beim Aufrufen das Skript ausgeführt hat.
PerformanceScriptTiming.pauseDurationSchreibgeschützt-
Gibt einen
DOMHighResTimeStampzurü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 synchroneXMLHttpRequests). PerformanceScriptTiming.sourceCharPositionSchreibgeschützt-
Gibt eine Zahl zurück, die die Zeichenposition des Skripts im Skriptmerkmal angibt, das zur LoAF beitrug.
PerformanceScriptTiming.sourceFunctionNameSchreibgeschützt-
Gibt eine Zeichenfolge zurück, die den Namen der Funktion angibt, die zur LoAF beitrug.
PerformanceScriptTiming.sourceURLSchreibgeschützt-
Gibt eine Zeichenfolge zurück, die die URL des Skripts angibt.
PerformanceScriptTiming.windowSchreibgeschützt-
Gibt eine Referenz auf ein
Window-Objekt zurück, das daswindowdes Containers darstellt (d.h. entweder das oberste Dokument oder ein<iframe>), in dem das LoAF-verursachende Skript ausgeführt wurde. PerformanceScriptTiming.windowAttributionSchreibgeschü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 desPerformanceScriptTiming-Objekts zurückzugeben.
Beispiele
Siehe Zeitmessung langes Animationsbild für Beispiele zum Long Animation Frames API.
Spezifikationen
| Spezifikation |
|---|
| Long Animation Frames API> # sec-PerformanceScriptTiming> |