首页 > web前端 > js教程 > 为什么我的 Chrome 扩展程序弹出窗口的点击事件没有触发?

为什么我的 Chrome 扩展程序弹出窗口的点击事件没有触发?

Susan Sarandon
发布: 2024-11-26 06:51:14
原创
506 人浏览过

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 替换为textContent,修改文本。虽然这在此示例中并不重要,但建议在复杂应用程序中使用 textContent 来增强安全性(XSS 缓解)。

以上是为什么我的 Chrome 扩展程序弹出窗口的点击事件没有触发?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板