InterventionReportBody
InterventionReportBody
是 Reporting API 的接口,表示干预报告的正文。
当网页文档中的功能使用被浏览器阻止时(例如出于安全、性能或用户厌烦等原因),就会生成干预报告。例如,脚本被停止,因为它显著减慢了浏览器的速度,或者浏览器的自动播放策略阻止了音频在没有用户手势触发的情况下播放。
当使用弃用功能(例如弃用的 API 方法)在被 ReportingObserver
观察的文档上使用时,会生成弃用报告。除了支持此 API 之外,接收有用的干预警告还依赖于浏览器供应商为相关功能添加这些警告。
构造函数
当 Report.Type
为 intervention
时,InterventionReportBody
的实例将作为 Report.body
的值返回。该接口没有构造函数。
实例属性
此接口还继承自 ReportBody
的属性。
InterventionReportBody.id
实验性 只读-
表示生成报告的干预操作的字符串。这可以用来对报告进行分组。
InterventionReportBody.message
实验性 只读-
包含对干预操作的人类可读描述的字符串,包括有关如何避免干预操作的信息。这通常与浏览器在强制实施干预操作时在其 DevTools 控制台中显示的消息相匹配(如果可用)。
InterventionReportBody.sourceFile
实验性 只读-
包含干预操作发生的源文件路径的字符串,如果已知,否则为
null
。 InterventionReportBody.lineNumber
实验性 只读-
表示干预操作发生的源文件中的行的字符串,如果已知,否则为
null
。 InterventionReportBody.columnNumber
实验性 只读-
表示干预操作发生的源文件中的列的字符串,如果已知,否则为
null
。
实例方法
此接口还继承自 ReportBody
的方法。
InterventionReportBody.toJSON()
实验性-
一个序列化器,它返回
InterventionReportBody
对象的 JSON 表示。
示例
在此示例中,我们创建了一个新的 ReportingObserver
来观察干预报告,然后将第一个报告的每个属性的详细信息打印到控制台。
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 的浏览器中加载。