javascript - 内容安全策略错误,没有任何内联 JavaScript

标签 javascript google-chrome-extension content-security-policy

我在尝试加载 Chrome 扩展程序时看到此错误:

拒绝执行内联脚本,因为它违反了以下内容安全策略指令:“script-src 'self' https://ajax.googleapis.com”。

这是我的 ma​​nifest.json 的一部分:

...

 "background": {
 "scripts": ["launcher.js"]
     },
"options_page": "options.html",
"content_security_policy": "script-src 'self' https://ajax.googleapis.com; object-src 'self'",
"permissions": [
"tabs", "notifications", "http://*/*", "https://*/*"

...

在我的整个 javascript 中,我只与 https://ajax.googleapis.com 进行通信我已通过检查 View 网络选项卡进行了确保。

我已经验证了我的所有 javascript 代码仅位于我的 .js 文件中。 (是的,我在必要时使用 addEventListener()

有什么建议吗?

更新:显示导致错误的代码(由 Rob 询问) 这是我与任何服务器通信的唯一地方:

....
$.ajax({
        type: "get",
        url: "https://ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=" + storyCount + "&callback=?",
        data: {
                q: link,
                output: "json_xml"
             },
        async: false,
        dataType: "json",
        success: function (data) {
             if (data.responseStatus == 200) {
                //process JSON
              }
....

最佳答案

随着 list 版本 1 更改为 2 。 Chrome 扩展程序不允许您使用内联 JavaScript。您需要将所有 javascript 放入 .JS 文件中,并将其包含在 html 页面中。

同时删除所有 onclick、onchange、onsubmit 到 eventlistner 事件。

谢谢

关于javascript - 内容安全策略错误,没有任何内联 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12023768/

相关文章:

javascript - JSX 通过字符串获取组件

javascript - 使 JavaScript 图形窗口居中

javascript - 如何获取点击鼠标的坐标(我只需要数学计算)

javascript - 无需第三方扩展即可在 Google Chrome 中永久执行用户脚本

google-chrome - 不触发内容安全策略违规事件

提交 ASP.NET MVC 表单之前的 JavaScript 工作

javascript - chrome.runtime.onMessage 中的 sendResponse 不起作用

javascript - 文本文件行与字符串 indexOf() 不匹配

javascript - 在没有内联脚本的情况下处理图像加载错误

firefox - 内容安全策略在第 1 行失败 (Firefox 57.0)