DeprecationReportBody - 表示废弃报告的正文
这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。
DeprecationReportBody
是 Reporting API 的接口,表示废弃报告的正文(其 Report.body
的返回值)。
当 ReportingObserver
正在观察的文档上使用了已废弃的功能(例如,已废弃的 API 方法)时,将生成废弃报告。
属性
id
一个字符串,表示生成报告的已弃用功能,例如 NavigatorGetUserMedia
。它可用于废弃的功能对报告进行分组。
anticipatedRemoval
一个 Date
对象(呈现为字符串),表示预期从当前浏览器中删除功能的日期。如果日期未知,则此属性将返回 null
。
message
一个字符串,其中包含一个易于理解的废弃说明,包括诸如哪些新特性取代了它(如果有的话)之类的信息。这通常与使用废弃的功能(如果可用)时浏览器将在其 DevTools 控制台中显示的消息匹配。
sourceFile
一个字符串,其中包含使用废弃功能的源文件的路径(如果有的话),否则为 null
。
lineNumber
一个数字,表示源文件中使用废弃功能的行号(如果有的话),否则为 null
。
columnNumber
一个数字,表示源文件中使用废弃功能的列数(如果有的话),否则为 null
。
实例
在我们的 deprecation_report.html 实例中,我们创建了一个简单的报告观察器,以观察网页上废弃功能的使用情况:
let options = {
types: ['deprecation'],
buffered: true
}
let observer = new ReportingObserver(function(reports, observer) {
reportBtn.onclick = () => displayReports(reports);
}, options);
然后,我们告诉它开始使用 ReportingObserver.observe()
观察报告。这告诉观察者开始在其报告队列中收集报告,并运行在构造函数中指定的回调函数:
observer.observe();
由于我们在 ReportingObserver()
构造函数中设置了事件处理程序,因此我们现在可以单击按钮以显示报告详细信息。
通过 displayReports()
功能显示报告详细信息,该功能将观察者回调的 reports
参数作为其参数:
function displayReports(reports) {
const outputElem = document.querySelector('.output');
const list = document.createElement('ul');
outputElem.appendChild(list);
for(let i = 0; i < reports.length; i++) {
let listItem = document.createElement('li');
let textNode = document.createTextNode('Report ' + (i + 1) + ', type: ' + reports[i].type);
listItem.appendChild(textNode);
let innerList = document.createElement('ul');
listItem.appendChild(innerList);
list.appendChild(listItem);
for (let key in reports[i].body) {
let innerListItem = document.createElement('li');
let keyValue = reports[i].body[key];
innerListItem.textContent = key + ': ' + keyValue;
innerList.appendChild(innerListItem);
}
}
}
reports
参数包含观察者报告队列中所有报告的数组。我们使用基本的 for
循环遍历每个报告,然后遍历报告正文中的每个条目(DeprecationReportBody
实例)使用 ``for...in` 结构,在列表项中显示每个键 / 值对。
规范
规范 | 状态 | 备注 |
---|---|---|
Unknown DeprecationReportBody 的定义 |
Unknown | - |
桌面浏览器兼容性
暂无兼容数据