我正在使用Chrome扩展程序,它将打开一个新窗口。该窗口包含我的page.html
,其中包含一些脚本,这就是问题所在,因为在控制台中,我现在可以看到错误了……
当我没有在manifest.json
或page.html
中添加任何其他内容时,会出现此错误:
拒绝执行内联脚本,因为它违反了以下内容安全策略指令:“ script-src'self'blob:文件系统:chrome-extension-resource:”。要启用内联执行,要么使用'unsafe-inline'关键字,要么使用哈希('sha256-t + n / + H6ALc8VWtFbu1Zd7 / MPwtSjSk8PIrfccO7FJrg ='),或者使用随机数(nonce)('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 -...”)。
当我在meta
中添加一些page.html
标签时,出现了相同或相似的错误。
我的问题是:我该如何解决?因为我认为"script-src 'self' blob: filesystem: chrome-extension-resource:"
是某种模板,所以此后我必须添加一些数据:
...但是我真的不知道是哪个。我看到了here的一些内容,但是我不知道该怎么办或应该在哪里写。所以请帮助我,如果我修复了该错误,我将非常高兴。
打开窗口的代码:
$.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>
!
答案 0 :(得分:0)
这不起作用,因为Chrome浏览器forbids any kind of inline code在扩展中通过内容安全策略。
您可以做的是:
(popup.js)
。<script src="popup.js"></script>