CSPViolationReportBody: toJSON() 方法
已弃用:此特性不再推荐。虽然某些浏览器可能仍然支持它,但它可能已经从相关的网络标准中删除,可能正在删除过程中,或者可能仅为兼容性目的而保留。请避免使用它,如果可能,请更新现有代码;请参阅本页底部的兼容性表格以指导您的决策。请注意,此特性可能随时停止工作。
CSPViolationReportBody
接口的 toJSON()
方法是一个序列化器,它返回 CSPViolationReportBody
对象的 JSON 表示形式。
toJSON()
方法的存在允许使用 JSON.stringify()
方法将 CSPViolationReportBody
对象转换为字符串。
报告 API 在创建要发送到报告端点的违规报告的序列化版本时会使用此方法。
语法
js
toJSON()
参数
无。
返回值
一个 JSON 对象,它是 CSPViolationReportBody
对象的序列化结果。
示例
在此示例中,我们创建一个新的 ReportingObserver
来观察 CSP 违规报告,然后返回第一个条目的 JSON 表示形式。
js
const observer = new ReportingObserver(
(reports, observer) => {
const firstReport = reports[0];
// Log JSON object
console.log(firstReport.toJSON());
// Log JSON object as a string
console.log(JSON.stringify(firstReport));
},
{
types: ["csp-violation"],
buffered: true,
},
);
observer.observe();
我们在 firstReport
(一个 Report
实例)上调用 toJSON()
,这反过来会调用此接口中定义的 toJSON()
来序列化报告的 body
。
为了演示,我们还对 firstReport
调用 JSON.stringify()
以创建一个包含 JSON 数据的字符串。发送或存储报告信息时,这样做比直接使用 toJSON()
更常见。
规范
此特性似乎未在任何规范中定义。浏览器兼容性
加载中…