」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 為什麼我的 Chrome 擴充功能彈出點擊事件由於違反內容安全策略而失敗?

為什麼我的 Chrome 擴充功能彈出點擊事件由於違反內容安全策略而失敗?

發佈於2024-11-24
瀏覽:142

Why Are My Chrome Extension Popup Click Events Failing Due to a Content Security Policy Violation?

擴充彈出視窗點擊事件失敗:解決內容安全策略違規問題

錯誤說明

在Chrome 擴充功能中,擴充功能圖示和擴充功能圖示上的點擊事件彈出頁面中的按鈕不會產生遞增JavaScript 變數的預期回應。

檢查根原因

要偵錯問題,請檢查彈出頁面並檢查控制台日誌。這個錯誤訊息可能表明內容安全策略 (CSP) 違規:

Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'self' chrome-extension-resource:".

CSP 合規性受損

HTML 頁面中的內聯腳本違反了預設 CSP。此政策不允許內聯 JavaScript。

解決方案:隔離 JavaScript

要解決此問題,請從 HTML 檔案中刪除所有內嵌 JavaScript,並將其放在單獨的 JavaScript 檔案中。

修改代碼結構

hello.html(彈出頁)





popup.js

var a = 0;
function count() {
  a  ;
  document.getElementById('demo').textContent = a;
}
document.getElementById('do-count').onclick = count;

註解

  • 更改文字時將innerHTML替換為textContent以減輕潛在的XSS漏洞。
  • 此解決方案確保符合 CSP,實現正確的腳本執行和點擊事件處理。
最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3