InterventionReportBody

实验性: 这是一个 实验性技术
在生产环境中使用之前,请仔细查看 浏览器兼容性表格

InterventionReportBodyReporting API 的接口,表示干预报告的正文。

当网页文档中的功能使用被浏览器阻止时(例如出于安全、性能或用户厌烦等原因),就会生成干预报告。例如,脚本被停止,因为它显著减慢了浏览器的速度,或者浏览器的自动播放策略阻止了音频在没有用户手势触发的情况下播放。

当使用弃用功能(例如弃用的 API 方法)在被 ReportingObserver 观察的文档上使用时,会生成弃用报告。除了支持此 API 之外,接收有用的干预警告还依赖于浏览器供应商为相关功能添加这些警告。

ReportBody InterventionReportBody

构造函数

Report.Typeintervention 时,InterventionReportBody 的实例将作为 Report.body 的值返回。该接口没有构造函数。

实例属性

此接口还继承自 ReportBody 的属性。

InterventionReportBody.id 实验性 只读

表示生成报告的干预操作的字符串。这可以用来对报告进行分组。

InterventionReportBody.message 实验性 只读

包含对干预操作的人类可读描述的字符串,包括有关如何避免干预操作的信息。这通常与浏览器在强制实施干预操作时在其 DevTools 控制台中显示的消息相匹配(如果可用)。

InterventionReportBody.sourceFile 实验性 只读

包含干预操作发生的源文件路径的字符串,如果已知,否则为 null

InterventionReportBody.lineNumber 实验性 只读

表示干预操作发生的源文件中的行的字符串,如果已知,否则为 null

InterventionReportBody.columnNumber 实验性 只读

表示干预操作发生的源文件中的列的字符串,如果已知,否则为 null

实例方法

此接口还继承自 ReportBody 的方法。

InterventionReportBody.toJSON() 实验性

一个序列化器,它返回 InterventionReportBody 对象的 JSON 表示。

示例

在此示例中,我们创建了一个新的 ReportingObserver 来观察干预报告,然后将第一个报告的每个属性的详细信息打印到控制台。

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

规范

规范
干预报告
# intervention-report

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅