InterventionReportBody

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.

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

BCD tables only load in the browser

See also