Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.
PerformanceScriptTiming
Eingeschränkt verfügbar
Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.
Want more 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 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-
Gibt einen
DOMHighResTimeStampzurück, der die verstrichene Zeit in Millisekunden zwischen dem Beginn und dem Ende der Skriptausführung darstellt. PerformanceEntry.entryTypeSchreibgeschützt-
Gibt den Eintragstyp zurück, der immer
"script"ist. PerformanceEntry.nameSchreibgeschützt-
Gibt den Eintragsnamen zurück, der immer
"script"ist. PerformanceEntry.startTimeSchreibgeschützt-
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-
Gibt einen
DOMHighResTimeStampzurück, der den Zeitpunkt angibt, zu dem die Skriptkompilierung beendet und die Ausführung gestartet wurde. PerformanceScriptTiming.forcedStyleAndLayoutDurationSchreibgeschützt-
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-
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-
Gibt einen String-Wert zurück, der den Typ der Funktionalität angibt, die beim Aufruf das Skript ausgeführt hat.
PerformanceScriptTiming.pauseDurationSchreibgeschützt-
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-
Gibt eine Zahl zurück, die die Zeichenposition des Skriptfeatures angibt, das 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 darstellt.
PerformanceScriptTiming.windowSchreibgeschützt-
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-
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()-
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
| Spezifikation |
|---|
| Long Animation Frames API> # sec-PerformanceScriptTiming> |
Browser-Kompatibilität
JavaScript aktivieren, um diese Browser-Kompatibilitätstabelle anzuzeigen.