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

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

Susan Sarandon
發布: 2024-11-25 03:37:12
原創
216 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板