InterventionReportBody

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

注意:此功能在 Web Workers 中可用。

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

InterventionReportBody 接口是 Reporting API 的一部分,代表干预报告(intervention report)的正文。

当 Web 文档中的某个功能因安全、性能或用户烦扰等原因被浏览器阻止使用时,会生成干预报告。例如,一个脚本因为显著拖慢浏览器速度而被停止运行,或者浏览器的自动播放策略阻止了在用户未进行手势操作的情况下播放音频。

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

构造函数

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

实例属性

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

InterventionReportBody.id 实验性 只读

一个表示生成报告的干预的字符串。可用于对报告进行分组。

InterventionReportBody.message 实验性 只读

一个包含干预的可读描述的字符串,包括如何避免干预的信息。这通常与浏览器在干预发生时在其开发者工具控制台中显示的相同消息匹配(如果可用)。

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

规范

规范
干预报告
# 干预报告

浏览器兼容性

另见