Chrome 拡張機能のポップアップ クリック イベントが発生しない: コンテンツ セキュリティ ポリシー違反の解決
Chrome 拡張機能のポップアップがボタンのクリックに応答せず、意図された動作。原因は、ブラウザによって適用されるデフォルトのコンテンツ セキュリティ ポリシー (CSP) にあります。
問題を理解する
問題をデバッグするには、ポップアップ ボタンを右クリックしてくださいをクリックして「ポップアップを検査」を選択します。インライン スクリプトが「script-src」CSP ディレクティブに違反していることを示すエラー メッセージが表示されます。これは、クリック イベントがトリガーされない理由の説明です。
解決策: JavaScript コードの分離
問題を修正するには、すべてのインライン JavaScript コードを HTML ファイルから別のファイルに移動します。 JSファイル。これは、HTML ドキュメントからスクリプトを分離することで CSP 要件に従います。
改訂コード:
hello.html (ポップアップ)ページ)
<!DOCTYPE html> <html> <head> </head> <body> <p>
popup.js
var a = 0; function count() { a++; document.getElementById('demo').textContent = a; } document.getElementById('do-count').onclick = count;
注: を使用する場合は、innerHTML を textContent に置き換えます。テキストを修正します。この例ではこれは重要ではありませんが、複雑なアプリケーションのセキュリティ強化 (XSS 軽減) のために textContent を使用することをお勧めします。
以上がChrome 拡張機能のポップアップのクリック イベントが発生しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。