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.
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.
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