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

View in English Always switch to English

PerformancePaintTiming: Methode toJSON()

Baseline
Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit April 2021 browserübergreifend verfügbar.

Die Methode toJSON() der Schnittstelle PerformancePaintTiming gibt ein JSON-serialisierbares einfaches Objekt zurück, das das PerformancePaintTiming-Objekt darstellt.

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

Syntax

js
toJSON()

Parameter

Keine.

Rückgabewert

Ein JSON-serialisierbares einfaches Objekt mit den folgenden Eigenschaften:

Der Wert jeder Eigenschaft wird unverändert übernommen.

Beispiele

toJSON() direkt aufrufen

Dieses Beispiel ruft ein PerformancePaintTiming-Objekt ab. Ein direkter 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.name); // Same value as entry.name
  });
});

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

Als 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 protokolliert (zur besseren Lesbarkeit formatiert):

json
{
  "name": "first-contentful-paint",
  "entryType": "paint",
  "startTime": 236.5,
  "duration": 0,
  "navigationId": 2463,
  "paintTime": 230.25,
  "presentationTime": 236.5
}

Spezifikationen

Spezifikation
Paint Timing
# dom-performancepainttiming-tojson

Browser-Kompatibilität

Siehe auch