Web/API/ReportingObserver/ReportingObserver

From Get docs

This is an experimental technologyCheck the Browser compatibility table carefully before using this in production.


The ReportingObserver() constructor of the Reporting API creates a new ReportingObserver object instance, which can be used to collect and access reports.

Syntax

new ReportingObserver(callback[, options]);

Parameters

callback
A callback function that runs when the observer starts to collect reports (i.e. via ReportingObserver.observe()). The callback function is given two parameters:
reports
  • A sequence of Report objects representing the reports collected in the observer's report queue. This is probably the most common way to retrieve the reports.
  • observer: A reference to the same ReportingObserver object, allowing for recursive report collection, etc.
options Optional
An ReportingObserverOptions object allowing you to set the options for creating the object. The available options are:
types
  • An array of strings representing the types of report to be collected by this observer. Available types include deprecation, intervention, and crash (although this last type usually isn't retrievable via a ReportingObserver).
  • buffered: a boolean that defines whether the reports that were generated before the observer was able to be created should be observable (true) or not (false).

Examples

let options = {
  types: ['deprecation'],
  buffered: true
}

let observer = new ReportingObserver(function(reports, observer) {
  reportBtn.onclick = () => displayReports(reports);
}, options);

Specifications

Specification Status Comment
Reporting APIThe definition of 'ReportingObserver()' in that specification. Editor's Draft  

Browser compatibility

Update compatibility data on GitHub

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet

ReportingObserver() constructor

Experimental'

Chrome

Full support 69

Edge

Full support 79

Firefox

No support No

IE

No support No

Opera

Full support 56

Safari

No support No

WebView Android

Full support 69

Chrome Android

Full support 69

Firefox Android

No support No

Opera Android

Full support 48

Safari iOS

No support No

Samsung Internet Android

Full support 10.0

Legend

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


See also