文档:securitypolicyviolation 事件

Baseline 已广泛支持

此特性已经十分成熟,可在许多设备和浏览器版本上使用。自 2022 年 3 月起,它已在各浏览器中可用。

内容安全策略 (Content Security Policy) 被违反时,会触发 securitypolicyviolation 事件。

当文档的 CSP 策略被违反时,该事件会在文档上触发(也可能从文档中的元素冒泡上来)。

该事件会 冒泡Window 对象,并且是 composed 的。

注意: 通常你应该将此事件的处理程序添加到顶层对象(即 WindowDocument)。虽然 HTML 元素在技术上可以成为 securitypolicyviolation 事件的目标,但实际上该事件不会在它们上面触发——例如,一个被阻止的 <img> 源会直接在 document 上触发此事件作为目标,而不是从 <img> 元素冒泡上来。

语法

在诸如 addEventListener() 之类的方法中使用事件名称,或设置事件处理程序属性。

js
addEventListener("securitypolicyviolation", (event) => { })

onsecuritypolicyviolation = (event) => { }

事件类型

一个 SecurityPolicyViolationEvent。继承自 Event

Event SecurityPolicyViolationEvent

示例

下面的代码展示了如何使用 Document 上的 onsecuritypolicyviolation 事件处理属性或 addEventListener() 来添加事件处理函数。

js
document.onsecuritypolicyviolation = (e) => {
  // Handle SecurityPolicyViolationEvent e here
};

document.addEventListener("securitypolicyviolation", (e) => {
  // Handle SecurityPolicyViolationEvent e here
});

规范

规范
HTML
# handler-onsecuritypolicyviolation

浏览器兼容性

另见