首頁  >  文章  >  web前端  >  為什麼我的 Chrome 擴充功能彈出視窗的點擊事件沒有觸發?

為什麼我的 Chrome 擴充功能彈出視窗的點擊事件沒有觸發?

Susan Sarandon
Susan Sarandon原創
2024-11-26 06:51:14430瀏覽

Why Aren't My Chrome Extension Popup's Click Events Firing?

Chrome 擴充功能彈出視窗點擊事件未觸發:解決內容安全策略違規問題

您的Chrome 擴充程式彈出視窗未回應按鈕點擊,阻礙了預期行為。罪魁禍首在於瀏覽器強制執行的預設內容安全策略 (CSP)。

了解問題

要偵錯問題,請右鍵點選彈出按鈕並選擇「檢查彈出視窗」。您將遇到一條錯誤訊息,指出內聯腳本違反了「script-src」CSP 指令。這解釋了為什麼點擊事件沒有觸發。

解決方案:分離 JavaScript 程式碼

要修正此問題,請將所有內嵌 JavaScript 程式碼從 HTML 檔案移至單獨的檔案中JS 檔案。透過將腳本與 HTML 文件隔離來遵循 CSP 要求。

修訂後的程式碼:

hello.html(彈出視窗) Page)

<!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 替換為textent,修改文字。雖然這在此範例中並不重要,但建議在複雜應用程式中使用 textContent 來增強安全性(XSS 緩解)。

以上是為什麼我的 Chrome 擴充功能彈出視窗的點擊事件沒有觸發?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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