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

View in English Always switch to English

CSPViolationReportBody: toJSON() Methode

Veraltet: Diese Funktion wird nicht mehr empfohlen. Obwohl einige Browser sie möglicherweise noch unterstützen, könnte sie bereits aus den relevanten Webstandards entfernt worden sein, in Kürze entfernt werden oder nur noch aus Kompatibilitätsgründen bestehen. Vermeiden Sie die Verwendung und aktualisieren Sie vorhandenen Code, falls möglich; siehe die Kompatibilitätstabelle am Ende dieser Seite, um Ihre Entscheidung zu unterstützen. Beachten Sie, dass diese Funktion jederzeit aufhören könnte zu funktionieren.

Die toJSON() Methode der CSPViolationReportBody-Schnittstelle ist ein Serializer, der eine JSON-Darstellung des CSPViolationReportBody-Objekts zurückgibt.

Das Vorhandensein einer toJSON()-Methode ermöglicht es CSPViolationReportBody-Objekten, mittels der JSON.stringify()-Methode in einen String umgewandelt zu werden.

Dies wird von der Reporting-API genutzt, um eine serialisierte Version eines Verstoßberichts zu erstellen, die an einen Reporting-Endpunkt gesendet wird.

Syntax

js
toJSON()

Parameter

Keine.

Rückgabewert

Ein JSON-Objekt, das die Serialisierung des CSPViolationReportBody-Objekts darstellt.

Beispiele

In diesem Beispiel erstellen wir einen neuen ReportingObserver, um CSP-Verstoßberichte zu beobachten, und geben dann eine JSON-Darstellung des ersten Eintrags zurück.

js
const observer = new ReportingObserver(
  (reports, observer) => {
    const firstReport = reports[0];
    // Log JSON object
    console.log(firstReport.toJSON());
    // Log JSON object as a string
    console.log(JSON.stringify(firstReport));
  },
  {
    types: ["csp-violation"],
    buffered: true,
  },
);

observer.observe();

Wir rufen toJSON() auf dem firstReport auf, welches eine Instanz von Report ist. Dies führt dazu, dass die toJSON()-Methode, die in dieser Schnittstelle definiert ist, aufgerufen wird, um den body des Berichts zu serialisieren.

Zu Demonstrationszwecken rufen wir auch JSON.stringify() auf firstReport auf, um einen String zu erstellen, der die JSON-Daten enthält. Beim Senden oder Speichern von Berichtsinformationen ist es üblicher, dies zu tun, als toJSON() direkt zu verwenden.

Spezifikationen

This feature does not appear to be defined in any specification.

Browser-Kompatibilität