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, bevor Sie diese produktiv verwenden.
Die PerformanceScriptTiming
Schnittstelle ist im Long Animation Frames API spezifiziert und bietet Metriken zu einzelnen Skripten, die zu langen Animationsframes (LoAFs) beitragen.
Beschreibung
Lange Animationsframes (LoAFs) sind die Rendering-Aktualisierungen, die um mehr als 50 ms verzögert sind. LoAFs können langsame Benutzeroberflächen- (UI) Updates verursachen, sodass Bedienelemente träge erscheinen und ruckelige (nicht flüssige) Animationen und Scroll-Effekte entstehen. Dies führt oft zu Benutzerfrustration.
Die PerformanceScriptTiming
Schnittstelle (Instanzen davon werden über die PerformanceLongAnimationFrameTiming.scripts
Eigenschaft abgerufen) bietet die folgende detaillierte Information über einzelne Skripte, die zu LoAFs beitragen und Entwicklern ermöglichen, deren Ursachen einzugrenzen:
- Ein detaillierter Satz von Zeitstempeln für jedes Skript.
- Die Identität und der Typ des Aufrufers, d. h. das Feature, das beim Aufruf das Skript ausführte.
- Detaillierte Informationen zu jeder Skriptquelle, einschließlich der URL, des Funktionsnamens und der Zeichenposition, die zum LoAF beigetragen haben.
PerformanceScriptTiming
erbt von PerformanceEntry
.
Instanz-Eigenschaften
Diese Schnittstelle erweitert die folgenden PerformanceEntry
Eigenschaften für Langanimations-Frame-Performance-Einträge:
PerformanceEntry.duration
Nur lesbar Experimentell-
Gibt einen
DOMHighResTimeStamp
zurück, der die verstrichene Zeit in Millisekunden zwischen dem Start und dem Ende der Skript-Ausführung darstellt. PerformanceEntry.entryType
Nur lesbar Experimentell-
Gibt den Eintrags-Typ zurück, der immer
"script"
ist. PerformanceEntry.name
Nur lesbar Experimentell-
Gibt den Eintrags-Namen zurück, der immer
"script"
ist. PerformanceEntry.startTime
Nur lesbar Experimentell-
Gibt einen
DOMHighResTimeStamp
zurück, der die Zeit in Millisekunden angibt, zu der die Skript-Ausführung gestartet wurde.
Diese Schnittstelle unterstützt auch die folgenden Eigenschaften:
PerformanceScriptTiming.executionStart
Nur lesbar Experimentell-
Gibt einen
DOMHighResTimeStamp
zurück, der die Zeit angibt, zu der die Skript-Kompilierung abgeschlossen und die Ausführung gestartet wurde. PerformanceScriptTiming.forcedStyleAndLayoutDuration
Nur lesbar Experimentell-
Gibt einen
DOMHighResTimeStamp
zurück, der die Gesamtzeit in Millisekunden angibt, die das Skript mit erzwungenen Layout-/Stilprozessen verbracht hat. Siehe Vermeiden von Layout-Trashing, um zu verstehen, was dies verursacht. PerformanceScriptTiming.invoker
Nur lesbar Experimentell-
Gibt einen Zeichenfolgenwert zurück, der die Identität des Features angibt, das beim Aufruf das Skript ausführte.
PerformanceScriptTiming.invokerType
Nur lesbar Experimentell-
Gibt einen Zeichenfolgenwert zurück, der den Typ des Features angibt, das beim Aufruf das Skript ausführte.
PerformanceScriptTiming.pauseDuration
Nur lesbar Experimentell-
Gibt einen
DOMHighResTimeStamp
zurück, der die Gesamtzeit in Millisekunden angibt, die das Skript mit dem "Pausieren" synchroner Operationen verbracht hat (zum Beispiel,Window.alert()
Aufrufe oder synchroneXMLHttpRequest
s). PerformanceScriptTiming.sourceCharPosition
Nur lesbar Experimentell-
Gibt eine Zahl zurück, die die Charakterposition des Skript-Features angibt, das zum LoAF beigetragen hat.
PerformanceScriptTiming.sourceFunctionName
Nur lesbar Experimentell-
Gibt eine Zeichenkette zurück, die den Namen der Funktion angibt, die zum LoAF beigetragen hat.
PerformanceScriptTiming.sourceURL
Nur lesbar Experimentell-
Gibt eine Zeichenkette zurück, die die URL des Skripts angibt.
PerformanceScriptTiming.window
Nur lesbar Experimentell-
Gibt eine Referenz auf ein
Window
Objekt zurück, das daswindow
des Containers (d. h. entweder das Dokument der obersten Ebene oder ein<iframe>
) darstellt, in dem das LoAF-verursachende Skript ausgeführt wurde. PerformanceScriptTiming.windowAttribution
Nur lesbar Experimentell-
Gibt einen enumerierten Wert zurück, der die Beziehung des Containers (d. h. entweder das Dokument der obersten Ebene oder ein
<iframe>
) beschreibt, in dem das LoAF-verursachende Skript ausgeführt wurde, relativ zu dem Fenster, das das aktuelle Dokument ausführt.
Instanz-Methoden
PerformanceScriptTiming.toJSON()
Experimentell-
Gibt eine JSON-Darstellung des
PerformanceScriptTiming
Objekts zurück.
Beispiele
Siehe Langanimations-Frame-Timing für zugehörige Beispiele zum Long Animation Frames API.
Spezifikationen
Specification |
---|
Long Animation Frames API # sec-PerformanceScriptTiming |
Browser-Kompatibilität
BCD tables only load in the browser