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 vor der Verwendung auf produktiven Webseiten.
Das PerformanceScriptTiming
-Interface ist im Long Animation Frames API spezifiziert und bietet Metriken zu einzelnen Skripten, die zu langen Animationsrahmen (LoAFs) beitragen.
Beschreibung
Lange Animationsrahmen (LoAFs) sind Rendering-Aktualisierungen, die um mehr als 50 ms verzögert werden. LoAFs können zu langsamen Benutzeroberflächen-Updates führen, wodurch Bedienelemente unempfindlich erscheinen und ruckelige (nicht ausreichende) Animationseffekte und Bildlauf entstehen. Dies führt oft zu Benutzerfrustration.
Das PerformanceScriptTiming
-Interface (dessen Instanzen über die Eigenschaft PerformanceLongAnimationFrameTiming.scripts
aufgerufen werden) bietet die folgende detaillierte Informationsmenge über einzelne Skripte, die zu LoAFs beitragen, und ermöglicht Entwicklern, deren Ursachen einzugrenzen:
- Ein detaillierter Satz von Zeitstempeln für jedes Skript.
- Die Identität und der Typ des Aufrufers, d.h. die Funktionalität, die beim Aufruf das Skript ausgeführt hat.
- Detaillierte Informationen über jede Skriptquelle, einschließlich der URL, des Funktionsnamens und der Zeichenposition, die zum LoAF beigetragen haben.
PerformanceScriptTiming
erbt von PerformanceEntry
.
Instanz-Eigenschaften
Dieses Interface erweitert die folgenden PerformanceEntry
-Eigenschaften für Langzeit-Animationsrahmen-Leistungseinträge:
PerformanceEntry.duration
Schreibgeschützt Experimentell-
Gibt einen
DOMHighResTimeStamp
zurück, der die verstrichene Zeit in Millisekunden zwischen dem Beginn und dem Ende der Skriptausführung darstellt. PerformanceEntry.entryType
Schreibgeschützt Experimentell-
Gibt den Eintragstyp zurück, der immer
"script"
ist. PerformanceEntry.name
Schreibgeschützt Experimentell-
Gibt den Eintragsnamen zurück, der immer
"script"
ist. PerformanceEntry.startTime
Schreibgeschützt Experimentell-
Gibt einen
DOMHighResTimeStamp
zurück, der die Zeit angibt, zu der die Skriptausführung gestartet wurde, in Millisekunden.
Dieses Interface unterstützt auch die folgenden Eigenschaften:
PerformanceScriptTiming.executionStart
Schreibgeschützt Experimentell-
Gibt einen
DOMHighResTimeStamp
zurück, der den Zeitpunkt angibt, zu dem die Skriptkompilierung beendet und die Ausführung gestartet wurde. PerformanceScriptTiming.forcedStyleAndLayoutDuration
Schreibgeschützt Experimentell-
Gibt einen
DOMHighResTimeStamp
zurück, der die Gesamtzeit angibt, die in Millisekunden durch die Skriptverarbeitung erzwungener Layout-/Stiländerungen verbracht wurde. Sehen Sie sich Vermeiden von Layout-Thrashing an, um zu verstehen, was dies verursacht. PerformanceScriptTiming.invoker
Schreibgeschützt Experimentell-
Gibt einen String-Wert zurück, der die Identität der Funktionalität angibt, die beim Aufruf das Skript ausgeführt hat.
PerformanceScriptTiming.invokerType
Schreibgeschützt Experimentell-
Gibt einen String-Wert zurück, der den Typ der Funktionalität angibt, die beim Aufruf das Skript ausgeführt hat.
PerformanceScriptTiming.pauseDuration
Schreibgeschützt Experimentell-
Gibt einen
DOMHighResTimeStamp
zurück, der die Gesamtzeit in Millisekunden angibt, die das Skript für das "Pausieren" synchroner Operationen (z.B.Window.alert()
-Aufrufe oder synchronerXMLHttpRequest
s) benötigt. PerformanceScriptTiming.sourceCharPosition
Schreibgeschützt Experimentell-
Gibt eine Zahl zurück, die die Zeichenposition des Skriptfeatures angibt, das zum LoAF beigetragen hat.
PerformanceScriptTiming.sourceFunctionName
Schreibgeschützt Experimentell-
Gibt einen String zurück, der den Namen der Funktion angibt, die zum LoAF beigetragen hat.
PerformanceScriptTiming.sourceURL
Schreibgeschützt Experimentell-
Gibt einen String zurück, der die URL des Skripts darstellt.
PerformanceScriptTiming.window
Schreibgeschützt Experimentell-
Gibt einen Verweis auf ein
Window
-Objekt zurück, das daswindow
des Containers (d.h. entweder das Top-Level-Dokument oder ein<iframe>
) darstellt, in dem das LoAF-verursachende Skript ausgeführt wurde. PerformanceScriptTiming.windowAttribution
Schreibgeschützt Experimentell-
Gibt einen enumerierten Wert zurück, der die Beziehung des Containers (d.h. entweder das Top-Level-Dokument oder ein
<iframe>
) beschreibt, in dem das LoAF-verursachende Skript ausgeführt wurde, relativ zum Fenster, das das aktuelle Dokument ausführt.
Instanz-Methoden
PerformanceScriptTiming.toJSON()
Experimentell-
Gibt eine JSON-Repräsentation des
PerformanceScriptTiming
-Objekts zurück.
Beispiele
Siehe Langzeit-Animationsrahmen-Timing für Beispiele im Zusammenhang mit dem Long Animation Frames API.
Spezifikationen
Specification |
---|
Long Animation Frames API # sec-PerformanceScriptTiming |