繁体   English   中英

Chrome 扩展程序:内容安全策略错误

[英]Chrome Extension: Content Security Policy Error

我正在开发可打开新窗口的 Chrome 扩展程序。 该窗口包含我的page.html ,其中有一些脚本,这就是问题所在,因为在控制台中我可以看到错误......现在。

当我不向manifest.jsonpage.html添加任何其他内容时,我收到此错误:

拒绝执行内联脚本,因为它违反了以下内容安全策略指令:“script-src 'self' blob: filesystem: chrome-extension-resource:”。 'unsafe-inline' 关键字、散列 ('sha256-t+n/+H6ALc8VWtFbu1Zd7/MPwtSjSk8PIrfccO7FJrg=') 或随机数 ('nonce-...') 需要启用内联执行。`,

如果我添加

 "content_security_policy": "script-src 'self' chrome-extension://capfbnhhhkfclmggnafjgkolommmmoch; object-src 'self';"

到我的manifest.json ,我得到

拒绝执行内联脚本,因为它违反了以下内容安全策略指令:“script-src 'self' chrome-extension://capfbnhhhkfclmggnafjgkolommmmoch”。 启用内联执行需要“unsafe-inline”关键字、哈希(“sha256-t+n/+H6ALc8VWtFbu1Zd7/MPwtSjSk8PIrfccO7FJrg=')或随机数(“nonce-...”)。

当我在page.html添加一些meta标记时,出现了相同或类似的错误。

我的问题是:我该如何解决? 因为我认为"script-src 'self' blob: filesystem: chrome-extension-resource:"是某种模板,所以我必须在此之后添加一些数据: s...但我真的不知道是哪个。 我在这里看到一些关于它的东西,但我不知道我应该用它做什么或我应该在哪里写它。 所以请帮助我,如果我修复了那个错误,我会很高兴。

窗口打开的代码:

$.get(chrome.extension.getURL('/page.html'), function(data) {
    var myWindow;
    myWindow = window.open("", "TopSerialy.sk Vyhľadávač","width=386,height=290");
    myWindow.moveTo((screen.width/2)-(386/2), ((screen.height-93)/2)-(290/2));
    myWindow.document.write(data);
});

page.html仅包含在按下按钮时关闭窗口的简单脚本,由 HTML 中的<script>functions, etc...</script>标签,而不是<script scr="some_url/script.js"></script>

这不起作用,因为 Chrome 禁止通过内容安全策略在扩展程序中使用任何类型的内联代码

你可以做的是:

  1. 将所有内联代码放入某个文件(popup.js)
  2. 添加到您的代码<script src="popup.js"></script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM