このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

Element: securitypolicyviolation イベント

Baseline
広く利用可能

この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2018年10月以降、すべてのブラウザーで利用可能です。

securitypolicyviolation イベントは、コンテンツセキュリティポリシーに違反したときに発生します。

このイベントは CSP ポリシーに違反したときに要素で発生します。

このイベントは Window オブジェクトまでバブリングし、合成されます。

メモ: 通常、このイベントのハンドラーは最上位のオブジェクト(Window や Document など)に追加してください。 技術的には HTML 要素も securitypolicyviolation イベントの対象になれますが、実際には要素では発生しません。たとえば、読み込みをブロックされた <img> のソースの場合、イベントは <img> 要素からバブリングするのではなく、document を対象として直接発生します。

構文

addEventListener() でこのイベント名を使用してください。

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

または、インターフェイスのイベントハンドラープロパティに代入します。

js
onsecuritypolicyviolation = (event) => { }

イベント型

SecurityPolicyViolationEvent です。Event から継承しています。

Event SecurityPolicyViolationEvent

例

Window での securitypolicyviolation の監視

下記コードは onsecuritypolicyviolation グローバルイベントハンドラープロパティ(onsecuritypolicyviolation を使用して追加済みの他のイベントリスナーがある場合、それらは置き換えられます)または addEventListener() を使用して、イベントハンドラー関数を最上位の Window に追加する方法を示しています(Document でも全く同じ手法を使用することができます)。

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

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

仕様書

仕様書
Content Security Policy Level 3
# eventdef-globaleventhandlers-securitypolicyviolation
HTML
# handler-onsecuritypolicyviolation

ブラウザーの互換性

関連情報