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
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.
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.
console.log(JSON.stringify(entry));
Dadurch würde eine JSON-Zeichenfolge wie die folgende protokolliert (zur besseren Lesbarkeit formatiert):
{
"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> |