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.durationSchreibgeschützt Experimentell-
Gibt einen
DOMHighResTimeStampzurück, der die verstrichene Zeit in Millisekunden zwischen dem Beginn und dem Ende der Skriptausführung darstellt. PerformanceEntry.entryTypeSchreibgeschützt Experimentell-
Gibt den Eintragstyp zurück, der immer
"script"ist. PerformanceEntry.nameSchreibgeschützt Experimentell-
Gibt den Eintragsnamen zurück, der immer
"script"ist. PerformanceEntry.startTimeSchreibgeschützt Experimentell-
Gibt einen
DOMHighResTimeStampzurück, der die Zeit angibt, zu der die Skriptausführung gestartet wurde, in Millisekunden.
Dieses Interface unterstützt auch die folgenden Eigenschaften:
PerformanceScriptTiming.executionStartSchreibgeschützt Experimentell-
Gibt einen
DOMHighResTimeStampzurück, der den Zeitpunkt angibt, zu dem die Skriptkompilierung beendet und die Ausführung gestartet wurde. PerformanceScriptTiming.forcedStyleAndLayoutDurationSchreibgeschützt Experimentell-
Gibt einen
DOMHighResTimeStampzurü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.invokerSchreibgeschü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.invokerTypeSchreibgeschützt Experimentell-
Gibt einen String-Wert zurück, der den Typ der Funktionalität angibt, die beim Aufruf das Skript ausgeführt hat.
PerformanceScriptTiming.pauseDurationSchreibgeschützt Experimentell-
Gibt einen
DOMHighResTimeStampzurück, der die Gesamtzeit in Millisekunden angibt, die das Skript für das "Pausieren" synchroner Operationen (z.B.Window.alert()-Aufrufe oder synchronerXMLHttpRequests) benötigt. PerformanceScriptTiming.sourceCharPositionSchreibgeschützt Experimentell-
Gibt eine Zahl zurück, die die Zeichenposition des Skriptfeatures angibt, das zum LoAF beigetragen hat.
PerformanceScriptTiming.sourceFunctionNameSchreibgeschützt Experimentell-
Gibt einen String zurück, der den Namen der Funktion angibt, die zum LoAF beigetragen hat.
PerformanceScriptTiming.sourceURLSchreibgeschützt Experimentell-
Gibt einen String zurück, der die URL des Skripts darstellt.
PerformanceScriptTiming.windowSchreibgeschützt Experimentell-
Gibt einen Verweis auf ein
Window-Objekt zurück, das daswindowdes Containers (d.h. entweder das Top-Level-Dokument oder ein<iframe>) darstellt, in dem das LoAF-verursachende Skript ausgeführt wurde. PerformanceScriptTiming.windowAttributionSchreibgeschü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> |
Browser-Kompatibilität
Loading…