SecurityPolicyViolationEvent

Baseline 廣泛可用 *

此特性已成熟穩定,適用於多種裝置和瀏覽器版本。自 2018 年 10 月起,它已在各瀏覽器中可用。

* 此特性的某些部分可能存在不同級別的支援。

注意:此功能在 Web Workers 中可用。

SecurityPolicyViolationEvent 介面繼承自 Event,代表當 securitypolicyviolation 事件在 ElementDocumentworker 上觸發時,其 內容安全策略 (CSP) 被違反時傳送的事件物件。

Event SecurityPolicyViolationEvent

建構函式

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,則 columnNumberlineNumber 都應具有非空值。

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

瀏覽器相容性

另見