1. 介绍
[引言内容待补充]
1.1. 示例
2. 弃用报告
弃用报告表示已使用了某个浏览器 API 或特性,该特性预计将在未来浏览器更新中停止工作。
弃用报告对ReportingObserver可见。
[Exposed =(Window ,Worker )]interface :DeprecationReportBody ReportBody { [Default ]object ();toJSON readonly attribute DOMString ;id readonly attribute object ?;anticipatedRemoval readonly attribute DOMString ;message readonly attribute DOMString ?;sourceFile readonly attribute unsigned long ?;lineNumber readonly attribute unsigned long ?; };columnNumber
弃用报告的body,在 JavaScript 中由 DeprecationReportBody
表示,包含以下字段:
-
id:一个实现定义的字符串,用于标识即将被移除的特性或 API。该字符串可用于分组和统计相关报告。
-
anticipatedRemoval:一个 JavaScript Date 对象(以 ISO 8601 字符串形式),表示没有该 API 的浏览器版本大致何时会正式发布(不包括 "beta" 或其它预发布渠道)。此值应用于排序或优先提示。如果未知则为 null,该弃用视为低优先级(可能不会实际移除)。
-
message:一个可读字符串,通常与开发者控制台显示的内容一致。该消息不保证对于同一个 id 唯一(例如可能包含 API 使用上下文)。
-
sourceFile:如已知,首次使用该 API 的文件名,否则为 null。
-
lineNumber:如已知,sourceFile 中首次使用该 API 的行号,否则为 null。
-
columnNumber:如已知,sourceFile 中首次使用该 API 的列号,否则为 null。
注意: 弃用报告始终发送到名为 default 的端点;目前无法更改此行为。如果你希望接收其它类型的报告但不需要弃用报告,请为其它报告选择不同的端点名称。
3. 报告示例
POST /reports HTTP/1.1
Host: example.com
...
Content-Type: application/reports+json
[{
"type": "deprecation",
"age": 32,
"url": "https://example.com/",
"user_agent": "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0",
"body": {
"id": "websql",
"anticipatedRemoval": "2020-01-01",
"message": "WebSQL 已弃用,将在 Chrome 97(约2020年1月)移除",
"sourceFile": "https://example.com/index.js",
"lineNumber": 1234,
"columnNumber": 42
}
}]
}
4. 安全注意事项
关于带外报告的安全注意事项,详见 Reporting API §8 安全注意事项。
本节剩余部分专门讨论弃用报告的安全注意事项。
5. 隐私注意事项
关于带外报告的隐私注意事项,详见 Reporting API §9 隐私注意事项。
本节剩余部分专门讨论弃用报告的隐私注意事项。