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 definiert und liefert Messwerte für einzelne Skripte, die zu langen Animationsframes (LoAFs) beitragen.
PerformanceScriptTiming erbt von PerformanceEntry.
Instanzeigenschaften
Dieses Interface erweitert die folgenden Eigenschaften 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 Typ des Eintrags 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 Eigenschaften:
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 Stilberechnungen aufgewendet hat. Unter Layout-Thrashing vermeiden erfahren Sie, wodurch dies verursacht wird. PerformanceScriptTiming.invokerSchreibgeschützt-
Gibt eine Zeichenfolge zurück, die die Funktion identifiziert, deren Aufruf das Skript ausgeführt hat.
PerformanceScriptTiming.invokerTypeSchreibgeschützt-
Gibt eine Zeichenfolge zurück, die den Typ der Funktion angibt, deren Aufruf das Skript ausgeführt hat.
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 Skriptfunktion angibt, die zum LoAF beigetragen hat.
PerformanceScriptTiming.sourceFunctionNameSchreibgeschützt-
Gibt eine Zeichenfolge mit dem Namen der Funktion zurück, die zum LoAF beigetragen hat.
PerformanceScriptTiming.sourceURLSchreibgeschützt-
Gibt eine Zeichenfolge mit der URL des Skripts zurück.
PerformanceScriptTiming.windowSchreibgeschützt-
Gibt eine Referenz auf ein
Window-Objekt zurück, das daswindowdes Containers repräsentiert, in dem das LoAF verursachende Skript ausgeführt wurde (also entweder das oberste Dokument oder ein<iframe>). PerformanceScriptTiming.windowAttributionSchreibgeschützt-
Gibt einen Aufzählungswert zurück, der die Beziehung des Containers, in dem das LoAF verursachende Skript ausgeführt wurde (also entweder das oberste Dokument oder ein
<iframe>), zum Fenster beschreibt, in dem das aktuelle Dokument ausgeführt wird.
Instanzmethoden
PerformanceScriptTiming.toJSON()-
Gibt ein JSON-serialisierbares einfaches Objekt zurück, das das
PerformanceScriptTiming-Objekt repräsentiert. Die Methode wird vonJSON.stringify()automatisch aufgerufen.
Beschreibung
Lange Animationsframes (LoAFs) sind Rendering-Aktualisierungen, die um mehr als 50 ms verzögert werden. LoAFs können zu langsamen Aktualisierungen der Benutzeroberfläche (UI) führen. Dadurch können Bedienelemente nicht reagieren und Animationen sowie Bildlaufbewegungen ruckeln. Das frustriert Benutzer häufig.
Das PerformanceScriptTiming-Interface (auf dessen Instanzen über die Eigenschaft PerformanceLongAnimationFrameTiming.scripts zugegriffen wird) liefert die folgenden detaillierten Informationen zu einzelnen Skripten, die zu LoAFs beitragen. Damit können Entwickler deren Ursachen eingrenzen:
- Detaillierte Zeitstempel für jedes Skript.
- Identität und Typ des Auslösers, also der Funktion, 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.
Beispiele
Beispiele zur Long Animation Frames API finden Sie unter Zeitmessung langer Animationsframes.
Spezifikationen
| Spezifikation |
|---|
| Long Animation Frames API> # sec-PerformanceScriptTiming> |