首页 > web前端 > js教程 > 为什么我的 Chrome 扩展程序弹出点击事件由于违反内容安全策略而失败?

为什么我的 Chrome 扩展程序弹出点击事件由于违反内容安全策略而失败?

Susan Sarandon
发布: 2024-11-25 03:37:12
原创
163 人浏览过

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
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板