SecurityPolicyViolationEvent
Baseline 广泛可用 *
注意:此功能在 Web Workers 中可用。
SecurityPolicyViolationEvent 接口继承自 Event,代表当 securitypolicyviolation 事件在 Element、Document 或 worker 上触发时,其 内容安全策略 (CSP) 被违反时发送的事件对象。
构造函数
SecurityPolicyViolationEvent()-
创建一个新的
SecurityPolicyViolationEvent对象实例。
实例属性
SecurityPolicyViolationEvent.blockedURI只读-
一个字符串,表示因违反策略而被阻止的资源的 URI。
SecurityPolicyViolationEvent.columnNumber只读-
在文档或 worker 中发生违规的列号。
SecurityPolicyViolationEvent.disposition只读-
一个字符串,指示用户代理被配置为强制执行策略还是仅报告策略违规。
SecurityPolicyViolationEvent.documentURI只读-
一个字符串,表示发生违规的文档或 worker 的 URI。
SecurityPolicyViolationEvent.effectiveDirective只读-
一个字符串,表示被违反的指令。
SecurityPolicyViolationEvent.lineNumber只读-
在文档或 worker 中发生违规的行号。
SecurityPolicyViolationEvent.originalPolicy只读-
一个字符串,包含导致违规的策略。
SecurityPolicyViolationEvent.referrer只读-
一个字符串,表示策略被违反的资源的引荐来源 URL,或者为
null。 SecurityPolicyViolationEvent.sample只读-
一个字符串,表示导致违规的资源的样本,通常是前 40 个字符。这仅在资源是内联脚本、事件处理程序或样式时才会填充 — 导致违规的外部资源不会生成样本。
SecurityPolicyViolationEvent.sourceFile只读-
如果违规是脚本导致的,则此属性将是脚本的 URL;否则,它将是
null。如果此属性不为null,则columnNumber和lineNumber都应具有非空值。 SecurityPolicyViolationEvent.statusCode只读-
一个数字,表示发生违规的文档或 worker 的 HTTP 状态码。
SecurityPolicyViolationEvent.violatedDirective只读-
一个字符串,表示被违反的指令。这是
effectiveDirective的历史别名。
示例
js
document.addEventListener("securitypolicyviolation", (e) => {
console.log(e.blockedURI);
console.log(e.violatedDirective);
console.log(e.originalPolicy);
});
规范
| 规范 |
|---|
| 内容安全策略级别 3 # report-violation |
浏览器兼容性
加载中…
另见
- HTTP 内容安全策略 (CSP)
CSPViolationReportBodyElement接口的securitypolicyviolation事件Document接口的Document接口的securitypolicyviolation事件WorkerGlobalScope接口的securitypolicyviolation事件