我在尝试加载 Chrome 扩展程序时看到此错误:
拒绝执行内联脚本,因为它违反了以下内容安全策略指令:“script-src 'self' https://ajax.googleapis.com”。
这是我的 manifest.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/