DeprecationReportBody - 表示废弃报告的正文

这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。

DeprecationReportBodyReporting 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 -

桌面浏览器兼容性

暂无兼容数据

相关链接