元素:securitypolicyviolation 事件

Baseline 已广泛支持

此特性已成熟稳定,适用于多种设备和浏览器版本。自 2018 年 10 月起,它已在各浏览器中可用。

内容安全策略 被违反时,会触发 securitypolicyviolation 事件。

当 CSP 策略被违反时,该事件会在元素上触发。

该事件会 冒泡Window 对象,并且是 组合事件

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

语法

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

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

onsecuritypolicyviolation = (event) => { }

事件类型

一个 SecurityPolicyViolationEvent。继承自 Event

Event SecurityPolicyViolationEvent

示例

在 Window 上监听 securitypolicyviolation

下面的代码展示了如何使用 onsecuritypolicyviolation 全局事件处理程序属性或在顶层 Window 上使用 addEventListener() 添加事件处理程序函数(您可以在 Document 上使用完全相同的方法)。

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

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

规范

规范
内容安全策略级别 3
# eventdef-globaleventhandlers-securitypolicyviolation
HTML
# handler-onsecuritypolicyviolation

浏览器兼容性

另见