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.
Das PerformanceScriptTiming-Interface ist in der Long Animation Frames API spezifiziert und liefert Messwerte für einzelne Skripte, die zu langen Animationsframes (LoAFs) beitragen.
Beschreibung
Lange Animationsframes (LoAFs) sind Rendering-Aktualisierungen, die sich um mehr als 50 ms verzögern. LoAFs können Aktualisierungen der Benutzeroberfläche (UI) verlangsamen, sodass Bedienelemente nicht mehr zu reagieren scheinen und ruckelnde (nicht flüssige) Animationen und Scrollbewegungen entstehen. Dies führt häufig zu Frustration bei Benutzern.
Das PerformanceScriptTiming-Interface, dessen Instanzen über die Property PerformanceLongAnimationFrameTiming.scripts zugänglich sind, liefert die folgenden detaillierten Informationen zu einzelnen Skripten, die zu LoAFs beitragen. So können Entwickler deren Ursachen eingrenzen:
- Detaillierte Zeitstempel für jedes Skript.
- Die Identität und den Typ des Aufrufers, also der Funktionalität, deren Aufruf das Skript ausgeführt hat.
- Detaillierte Informationen zur Quelldatei jedes Skripts, einschließlich der URL sowie des Funktionsnamens und der Zeichenposition, die zum LoAF beigetragen haben.
PerformanceScriptTiming erbt von PerformanceEntry.
Instanz-Properties
Dieses Interface erweitert die folgenden Properties von PerformanceEntry für Performance-Einträge langer Animationsframes:
PerformanceEntry.durationSchreibgeschützt-
Gibt einen
DOMHighResTimeStampzurück, der die verstrichene Zeit zwischen Beginn und Ende der Skriptausführung in Millisekunden angibt. 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 den Zeitpunkt angibt, zu dem die Skriptausführung begann, in Millisekunden.
Dieses Interface unterstützt außerdem die folgenden Properties:
PerformanceScriptTiming.executionStartSchreibgeschützt-
Gibt einen
DOMHighResTimeStampzurück, der den Zeitpunkt angibt, zu dem die Kompilierung des Skripts abgeschlossen war und seine Ausführung begann. PerformanceScriptTiming.forcedStyleAndLayoutDurationSchreibgeschützt-
Gibt einen
DOMHighResTimeStampzurück, der die Gesamtzeit in Millisekunden angibt, die das Skript für erzwungene Layout- und Style-Berechnungen aufgewendet hat. Unter Avoid layout thrashing erfahren Sie, wodurch dies verursacht wird. PerformanceScriptTiming.invokerSchreibgeschützt-
Gibt einen String zurück, der angibt, welche Funktionalität durch ihren Aufruf das Skript ausgeführt hat.
PerformanceScriptTiming.invokerTypeSchreibgeschützt-
Gibt einen String zurück, der den Typ der Funktionalität angibt, durch deren Aufruf das Skript ausgeführt wurde.
PerformanceScriptTiming.pauseDurationSchreibgeschützt-
Gibt einen
DOMHighResTimeStampzurück, der die Gesamtzeit in Millisekunden angibt, die das Skript mit „pausierenden“ synchronen Operationen verbracht hat (beispielsweise Aufrufen vonWindow.alert()oder synchronenXMLHttpRequest-Anfragen). PerformanceScriptTiming.sourceCharPositionSchreibgeschützt-
Gibt eine Zahl zurück, die die Zeichenposition der Skriptfunktionalität angibt, die zum LoAF beigetragen hat.
PerformanceScriptTiming.sourceFunctionNameSchreibgeschützt-
Gibt einen String zurück, der den Namen der Funktion angibt, die zum LoAF beigetragen hat.
PerformanceScriptTiming.sourceURLSchreibgeschützt-
Gibt einen String zurück, der die URL des Skripts angibt.
PerformanceScriptTiming.windowSchreibgeschützt-
Gibt eine Referenz auf ein
Window-Objekt zurück, das daswindowdes Containers repräsentiert (also entweder das Dokument der obersten Ebene oder ein<iframe>), in dem das LoAF verursachende Skript ausgeführt wurde. PerformanceScriptTiming.windowAttributionSchreibgeschützt-
Gibt einen Aufzählungswert zurück, der die Beziehung des Containers (also entweder des Dokuments der obersten Ebene oder eines
<iframe>), in dem das LoAF verursachende Skript ausgeführt wurde, zum Window des aktuellen Dokuments beschreibt.
Instanzmethoden
PerformanceScriptTiming.toJSON()-
Gibt ein JSON-serialisierbares einfaches Objekt zurück, das das
PerformanceScriptTiming-Objekt repräsentiert. Wird vonJSON.stringify()automatisch aufgerufen.
Beispiele
Beispiele zur Long Animation Frames API finden Sie unter Timing langer Animationsframes.
Spezifikationen
| Spezifikation |
|---|
| Long Animation Frames API> # sec-PerformanceScriptTiming> |