脚本未加载到chrome扩展程序中



我检查了类似的帖子如何在Chrome Extension Manifest.json中设置内容安全策略,以便Firebase正常工作。我得到的问题与CSP有关,但是我需要设置的策略是不幸的是我没有得到的。

我构建了一个使用 jsoneditor 的 chrome 扩展,并且依赖关系会产生此问题。运行扩展时,我收到以下异常

拒绝加载脚本 'data:application/javascript;基地64,....'因为它违反了以下内容安全策略指令:"script-src 'self'"。请注意,"script-src-elem"没有明确设置,因此"script-src"用作后备。

未捕获的 DOMException:无法在"WorkerGlobalScope"上执行"importScripts":位于"data:application/javascript"的脚本;基地64,......'加载失败。 在斑点:铬-extension://nlgocoglacibgkjnhaahkmepblhmelcp/765c13cb-44D4-480C-A6B1-29527766AE5E:1:1

在上面提到的 SO 问题中,网址如

https://cdn.firebase.com https://*.firebaseio.com;包含在content_security_policy中。

在我的示例中,脚本不是从外部域加载的。在这种情况下,如何设置正确的content_security_policy

该问题的解决方案是在manifest.json文件的content_security_policy中添加script-src-elem 'self' data: blob:;

我的看起来像下面,

"content_security_policy": "script-src 'self'; script-src-elem 'self' data: blob:; worker-src 'self' data: blob:; object-src 'self'"

相关内容

  • 没有找到相关文章

最新更新