这是
实验性技术
检查
浏览器兼容性表格
要小心谨慎在生产中使用这之前。
DeprecationReportBody
接口在
Reporting API
represents the body of a deprecation report (the return value of its
Report.body
特性)。
A deprecation report is generated when a deprecated feature (e.g. a deprecated API method) is used on a document being observed by a
ReportingObserver
.
id
NavigatorGetUserMedia
. This can be used to group reports by deprecated feature.
anticipatedRemoval
日期
object (rendered as a string) representing the date when the feature is expected to be removed from the current browser. If the date is not known, this property will return
null
.
message
A string containing a human-readable description of the deprecation, including information such as what newer feature has superceded it, if any. This typically matches the message a browser will display in its DevTools console when a deprecated feature is used, if one is available.
sourceFile
null
否则。
lineNumber
null
否则。
columnNumber
null
否则。
In our deprecation_report.html example, we create a simple reporting observer to observe usage of deprecated features on our web page:
let options = {
types: ['deprecation'],
buffered: true
}
let observer = new ReportingObserver(function(reports, observer) {
reportBtn.onclick = () => displayReports(reports);
}, options);
We then tell it to start observing reports using
ReportingObserver.observe()
; this tells the observer to start collecting reports in its report queue, and runs the callback function specified inside the constructor:
observer.observe();
Because of the event handler we set up inside the
ReportingObserver()
constructor, we can now click the button to display the report details.
The report details are displayed via the
displayReports()
fuction, which takes the observer callback's
reports
parameter as its parameter:
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
parameter contains an array of all the reports in the observer's report queue. We loop over each report using a basic
for
loop, then iterate over each entry of in the report's body (a
DeprecationReportBody
instance) using a
for...in
structure, displaying each key/value pair inside a list item.
| 规范 | 状态 | 注释 |
|---|---|---|
|
Reporting API
The definition of 'DeprecationReportBody' in that specification. |
编者草案 |
No compatibility data found. Please contribute data for "api.DeprecationReportBody" (depth: 1) to the MDN 兼容性数据存储库 .