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