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

View in English Always switch to English

ReportingObserver: ReportingObserver() Konstruktor

Baseline 2026 *
Neu verfügbar

Seit March 2026 funktioniert diese Funktion auf aktuellen Geräten und in aktuellen Browserversionen. Auf älteren Geräten oder in älteren Browsern funktioniert sie möglicherweise nicht.

* Einige Teile dieser Funktion werden möglicherweise unterschiedlich gut unterstützt.

Hinweis: Diese Funktion ist in Web Workers verfügbar.

Der ReportingObserver() Konstruktor der Reporting API erstellt eine neue Instanz des ReportingObserver-Objekts, das zum Sammeln und Zugreifen auf Berichte verwendet werden kann.

Syntax

js
new ReportingObserver(callback)
new ReportingObserver(callback, options)

Parameter

callback

Eine Callback-Funktion, die ausgeführt wird, wenn der Beobachter beginnt, Berichte zu sammeln (d.h. über ReportingObserver.observe()). Der Callback-Funktion werden zwei Parameter übergeben:

reports

Eine Sequenz von Objekten, die die Berichte darstellen, die in der Berichtswarteschlange des Beobachters gesammelt wurden.

Es wird erwartet, dass Berichtsobjekte die folgenden Eigenschaften haben:

body

Ein Objekt, das den Inhalt des Berichts darstellt. Die Struktur des Berichts (insbesondere seines Inhalts) hängt von seinem type ab.

type

Ein String, der den Typ des Berichts angibt. Für Informationen zu Berichtstypen siehe options.types unten.

url

Ein String, der die URL des Dokuments darstellt, das den Bericht erzeugt hat.

observer

Ein Verweis auf dasselbe ReportingObserver-Objekt, der eine rekursive Berichtssammlung ermöglicht und so weiter.

options Optional

Ein Objekt, das Ihnen ermöglicht, die Optionen für die Erstellung des Objekts festzulegen. Die verfügbaren Optionen sind:

types

Ein Array von Strings, das die Typen der Berichte darstellt, die von diesem Beobachter gesammelt werden sollen. Verfügbare Typen umfassen:

coep

Verstöße gegen die Cross-Origin-Embedder-Policy (COEP) der Website. Berichte sind Instanzen von COEPViolationReport.

coop

Verstöße gegen die Cross-Origin-Opener-Policy (COOP) der Website. Berichte sind Instanzen von COOPViolationReport.

crash

Browser-Absturzberichte. Berichte sind Instanzen von CrashReport. Beachten Sie, dass Absturzberichte nicht über einen ReportingObserver abrufbar sind, jedoch an einen Server gesendet werden können.

csp-violation

Verstöße gegen die CSP-Richtlinie der Website. Berichte sind Instanzen von CSPViolationReport.

deprecation

Veraltete Funktionen, die von der Website verwendet werden. Berichte sind Instanzen von DeprecationReport.

integrity-violation

Verstöße gegen die Integritätsrichtlinie der Seite. Berichte sind Instanzen von IntegrityViolationReport.

intervention

Funktionen, die vom Benutzeragenten blockiert wurden, zum Beispiel, wenn eine Anzeige die Seitenleistung erheblich beeinträchtigt. Berichte sind Instanzen von InterventionReport.

permissions-policy-violation

Verstöße gegen die Permissions-Policy der Website. Berichte sind Instanzen von PermissionsPolicyViolationReport.

Wenn diese Option weggelassen wird, werden alle unterstützten Typen gesammelt.

buffered

Ein Boolean, der definiert, ob die Berichte, die generiert wurden, bevor der Beobachter erstellt werden konnte, beobachtbar (true) sein sollen oder nicht (false).

Beispiele

Spezifische Berichtstypen anzeigen

Dieser Code zeigt, wie ein ReportingObserver erstellt wird, der verwendet werden könnte, um deprecation und integrity-violation Berichte zu beobachten.

js
const options = {
  types: ["deprecation", "integrity-violation"],
  buffered: true,
};

const observer = new ReportingObserver((reports, observer) => {
  reportBtn.onclick = () => displayReports(reports);
}, options);

Spezifikationen

Spezifikation
Reporting API
# dom-reportingobserver-reportingobserver

Browser-Kompatibilität

Siehe auch