Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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.

PerformanceEntry PerformanceScriptTiming

Instanz-Properties

Dieses Interface erweitert die folgenden Properties von PerformanceEntry für Performance-Einträge langer Animationsframes:

PerformanceEntry.duration Schreibgeschützt

Gibt einen DOMHighResTimeStamp zurück, der die verstrichene Zeit zwischen Beginn und Ende der Skriptausführung in Millisekunden angibt.

PerformanceEntry.entryType Schreibgeschützt

Gibt den Eintragstyp zurück, der immer "script" ist.

PerformanceEntry.name Schreibgeschützt

Gibt den Namen des Eintrags zurück, der immer "script" ist.

PerformanceEntry.startTime Schreibgeschützt

Gibt einen DOMHighResTimeStamp zurück, der den Zeitpunkt angibt, zu dem die Skriptausführung begann, in Millisekunden.

Dieses Interface unterstützt außerdem die folgenden Properties:

PerformanceScriptTiming.executionStart Schreibgeschützt

Gibt einen DOMHighResTimeStamp zurück, der den Zeitpunkt angibt, zu dem die Kompilierung des Skripts abgeschlossen war und seine Ausführung begann.

PerformanceScriptTiming.forcedStyleAndLayoutDuration Schreibgeschützt

Gibt einen DOMHighResTimeStamp zurü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.invoker Schreibgeschützt

Gibt einen String zurück, der angibt, welche Funktionalität durch ihren Aufruf das Skript ausgeführt hat.

PerformanceScriptTiming.invokerType Schreibgeschützt

Gibt einen String zurück, der den Typ der Funktionalität angibt, durch deren Aufruf das Skript ausgeführt wurde.

PerformanceScriptTiming.pauseDuration Schreibgeschützt

Gibt einen DOMHighResTimeStamp zurück, der die Gesamtzeit in Millisekunden angibt, die das Skript mit „pausierenden“ synchronen Operationen verbracht hat (beispielsweise Aufrufen von Window.alert() oder synchronen XMLHttpRequest-Anfragen).

PerformanceScriptTiming.sourceCharPosition Schreibgeschützt

Gibt eine Zahl zurück, die die Zeichenposition der Skriptfunktionalität angibt, die zum LoAF beigetragen hat.

PerformanceScriptTiming.sourceFunctionName Schreibgeschützt

Gibt einen String zurück, der den Namen der Funktion angibt, die zum LoAF beigetragen hat.

PerformanceScriptTiming.sourceURL Schreibgeschützt

Gibt einen String zurück, der die URL des Skripts angibt.

PerformanceScriptTiming.window Schreibgeschützt

Gibt eine Referenz auf ein Window-Objekt zurück, das das window des Containers repräsentiert (also entweder das Dokument der obersten Ebene oder ein <iframe>), in dem das LoAF verursachende Skript ausgeführt wurde.

PerformanceScriptTiming.windowAttribution Schreibgeschü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 von JSON.stringify() automatisch aufgerufen.

Beispiele

Beispiele zur Long Animation Frames API finden Sie unter Timing langer Animationsframes.

Spezifikationen

Spezifikation
Long Animation Frames API
# sec-PerformanceScriptTiming

Browser-Kompatibilität

Siehe auch