InterventionReportBody

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Note: This feature is available in Web Workers.

Deprecated: This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.

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.

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 Read only Deprecated

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

InterventionReportBody.message Read only Deprecated

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 Read only Deprecated

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

InterventionReportBody.lineNumber Read only Deprecated

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

InterventionReportBody.columnNumber Read only Deprecated

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() Deprecated

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

See also