InterventionReportBody

Note: This feature is available in Web Workers.

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The InterventionReportBody interface of the Reporting API represents the body of an intervention report.

An intervention report is generated when usage of a feature in a web document has been blocked by the browser for reasons such as security, performance, or user annoyance. So for example, a script was been stopped because it was significantly slowing down the browser, or the browser's autoplay policy blocked audio from playing without a user gesture to trigger it.

A deprecation report is generated when a deprecated feature (for example a deprecated API method) is used on a document being observed by a ReportingObserver. In addition to the support of this API, receiving useful intervention warnings relies on browser vendors adding these warnings for the relevant features.

ReportBody InterventionReportBody

Constructor

An instance of InterventionReportBody is returned as the value of Report.body when Report.Type is intervention. The interface has no constructor.

Instance properties

This interface also inherits properties from ReportBody.

InterventionReportBody.id Experimental Read only

A string representing the intervention that generated the report. This can be used to group reports.

InterventionReportBody.message Experimental Read only

A string containing a human-readable description of the intervention, including information such how the intervention could be avoided. This typically matches the message a browser will display in its DevTools console when an intervention is imposed, if one is available.

InterventionReportBody.sourceFile Experimental Read only

A string containing the path to the source file where the intervention occurred, if known, or null otherwise.

InterventionReportBody.lineNumber Experimental Read only

A string representing the line in the source file in which the intervention occurred, if known, or null otherwise.

InterventionReportBody.columnNumber Experimental Read only

A string representing the column in the source file in which the intervention occurred, if known, or null otherwise.

Instance methods

This interface also inherits methods from ReportBody.

InterventionReportBody.toJSON() Experimental

A serializer which returns a JSON representation of the InterventionReportBody object.

Examples

In this example we create a new ReportingObserver to observe intervention reports, then print details of each property of the first report to the console.

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);

Specifications

Specification
Intervention Reporting
# intervention-report

Browser compatibility

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
InterventionReportBody
Experimental
columnNumber
Experimental
id
Experimental
lineNumber
Experimental
message
Experimental
sourceFile
Experimental
toJSON
Experimental

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
Experimental. Expect behavior to change in the future.

See also