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

lou*_*dev 6 html javascript google-chrome-extension

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

当我不向我添加任何其他内容时,manifest.json或出现page.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';"
Run Code Online (Sandbox Code Playgroud)

到我的manifest.json,我得到

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

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

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

窗口打开的代码:

$.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);
});
Run Code Online (Sandbox Code Playgroud)

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

Kir*_*zur 6

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

你可以做的是:

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