InterventionReportBody

Hinweis: Dieses Feature ist verfügbar in Web Workers.

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig, bevor Sie diese produktiv verwenden.

Das InterventionReportBody-Interface der Reporting API repräsentiert den Inhalt eines Eingriffsberichts.

Ein Eingriffsbericht wird erstellt, wenn die Verwendung einer Funktion in einem Webdokument vom Browser aus Gründen wie Sicherheit, Leistung oder Benutzerbelästigung blockiert wurde. Beispielsweise wurde ein Skript gestoppt, weil es den Browser erheblich verlangsamt hat, oder die Autoplay-Richtlinie des Browsers hat das Abspielen von Audio ohne eine Benutzerinteraktion blockiert.

Ein Veralterungsbericht wird erstellt, wenn eine veraltete Funktion (zum Beispiel eine veraltete API-Methode) in einem Dokument verwendet wird, das von einem ReportingObserver überwacht wird. Zusätzlich zur Unterstützung dieser API ist es erforderlich, dass Browseranbieter nützliche Eingriffswarnungen für die relevanten Funktionen hinzufügen.

ReportBody InterventionReportBody

Konstruktor

Eine Instanz von InterventionReportBody wird als Wert von Report.body zurückgegeben, wenn Report.Type intervention ist. Das Interface hat keinen Konstruktor.

Instanz-Eigenschaften

Dieses Interface erbt auch Eigenschaften von ReportBody.

InterventionReportBody.id Experimentell Nur lesbar

Ein String, der den Eingriff repräsentiert, der den Bericht erzeugt hat. Dies kann verwendet werden, um Berichte zu gruppieren.

InterventionReportBody.message Experimentell Nur lesbar

Ein String, der eine menschenlesbare Beschreibung des Eingriffs enthält, einschließlich Informationen darüber, wie der Eingriff vermieden werden könnte. Dies entspricht typischerweise der Nachricht, die ein Browser in seiner DevTools-Konsole anzeigt, wenn ein Eingriff vorgenommen wird, falls verfügbar.

InterventionReportBody.sourceFile Experimentell Nur lesbar

Ein String, der den Pfad zur Quelldatei enthält, in der der Eingriff stattgefunden hat, falls bekannt, oder null andernfalls.

InterventionReportBody.lineNumber Experimentell Nur lesbar

Ein String, der die Zeile in der Quelldatei darstellt, in der der Eingriff stattgefunden hat, falls bekannt, oder null andernfalls.

InterventionReportBody.columnNumber Experimentell Nur lesbar

Ein String, der die Spalte in der Quelldatei darstellt, in der der Eingriff stattgefunden hat, falls bekannt, oder null andernfalls.

Instanz-Methoden

Dieses Interface erbt auch Methoden von ReportBody.

InterventionReportBody.toJSON() Experimentell

Ein Serializer, der eine JSON-Darstellung des InterventionReportBody-Objekts zurückgibt.

Beispiele

In diesem Beispiel erstellen wir einen neuen ReportingObserver, um Eingriffsberichte zu beobachten, und geben dann Details jeder Eigenschaft des ersten Berichts in der Konsole aus.

js
const options = {
  types: ["intervention"],
  buffered: true,
};

const observer = new ReportingObserver((reports, observer) => {
  const firstReport = reports[0];
  console.log(firstReport.type); // intervention
  console.log(firstReport.body.id);
  console.log(firstReport.body.message);
  console.log(firstReport.body.sourceFile);
  console.log(firstReport.body.lineNumber);
  console.log(firstReport.body.columnNumber);
}, options);

Spezifikationen

Specification
Intervention Reporting
# intervention-report

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch