SecurityPolicyViolationEvent
Baseline 廣泛可用 *
注意:此功能在 Web Workers 中可用。
SecurityPolicyViolationEvent 介面繼承自 Event,代表當 securitypolicyviolation 事件在 Element、Document 或 worker 上觸發時,其 內容安全策略 (CSP) 被違反時傳送的事件物件。
建構函式
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,則columnNumber和lineNumber都應具有非空值。 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 |
瀏覽器相容性
載入中…
另見
- HTTP 內容安全策略 (CSP)
CSPViolationReportBodyElement介面的securitypolicyviolation事件Document介面的Document介面的securitypolicyviolation事件WorkerGlobalScope介面的securitypolicyviolation事件