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

View in English Always switch to English

PerformanceLongTaskTiming: Methode toJSON()

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.

Nicht standardisiert: Diese Funktion ist nicht standardisiert. Wir raten davon ab, nicht-standardisierte Funktionen auf produktiven Webseiten zu verwenden, da sie nur von bestimmten Browsern unterstützt werden und sich in Zukunft ändern oder entfernt werden können. Unter Umständen kann sie jedoch eine geeignete Option sein, wenn es keine standardisierte Alternative gibt.

Die Methode toJSON() der Schnittstelle PerformanceLongTaskTiming gibt ein JSON-serialisierbares einfaches Objekt zurück, das das PerformanceLongTaskTiming-Objekt repräsentiert.

Die Methode wird von JSON.stringify() automatisch aufgerufen, wenn bei der JSON-Serialisierung ein PerformanceLongTaskTiming-Objekt gefunden wird.

Syntax

js
toJSON()

Parameter

Keine.

Rückgabewert

Ein JSON-serialisierbares einfaches Objekt mit den folgenden Eigenschaften:

Der Wert jeder Eigenschaft wird unverändert kopiert. Wenn das zurückgegebene Objekt an JSON.stringify() übergeben wird, werden die Objekte im attribution-Array mithilfe von TaskAttributionTiming.toJSON() weiter serialisiert.

Beispiele

toJSON() direkt aufrufen

Dieses Beispiel ruft ein PerformanceLongTaskTiming-Objekt ab. Der direkte Aufruf von toJSON() gibt ein einfaches Objekt zurück. Dessen Eigenschaften haben dieselben Werte wie die entsprechenden Eigenschaften des ursprünglichen Objekts.

js
const observer = new PerformanceObserver((list) => {
  list.getEntries().forEach((entry) => {
    const json = entry.toJSON();
    console.log(json); // A plain object
    console.log(typeof json); // "object"
    console.log(json.duration); // Same value as entry.duration
  });
});

observer.observe({ type: "longtask", buffered: true });

In eine JSON-Zeichenfolge serialisieren

Innerhalb der Callback-Funktion aus dem vorherigen Beispiel kann dasselbe Objekt mit JSON.stringify() serialisiert werden. Dabei wird die Methode toJSON() automatisch aufgerufen.

js
console.log(JSON.stringify(entry));

Dadurch würde eine JSON-Zeichenfolge wie die folgende ausgegeben (zur besseren Lesbarkeit formatiert):

json
{
  "name": "self",
  "entryType": "longtask",
  "startTime": 183.5,
  "duration": 60,
  "navigationId": 2463,
  "attribution": [
    {
      "name": "unknown",
      "entryType": "taskattribution",
      "startTime": 0,
      "duration": 0,
      "navigationId": 2463,
      "containerType": "window",
      "containerSrc": "",
      "containerId": "",
      "containerName": ""
    }
  ]
}

Spezifikationen

Diese Funktion scheint in keiner Spezifikation definiert zu sein.

Browser-Kompatibilität

Siehe auch