首頁  >  文章  >  web前端  >  為什麼我的 Chrome 擴充功能彈出點擊事件由於違反內容安全策略而失敗?

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

Susan Sarandon
Susan Sarandon原創
2024-11-25 03:37:12148瀏覽

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(彈出頁)

<!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 漏洞。
  • 此解決方案可確保符合 CSP,從而能夠正確的腳本執行和點擊事件處理。

以上是為什麼我的 Chrome 擴充功能彈出點擊事件由於違反內容安全策略而失敗?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn