SecurityPolicyViolationEvent

SecurityPolicyViolationEvent 接口继承自 Event,表示在 ElementDocumentworker 上发送的 securitypolicyviolation 事件的事件对象,当其 内容安全策略 (CSP) 被违反时。

Event SecurityPolicyViolationEvent

构造函数

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,则 columnNumberlineNumber 应具有非空值。

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 的浏览器中加载。

另请参阅