更新到 Angular 12 后,Chrome 扩展中出现 CSP 不安全评估错误

Jea*_*eri 0 google-chrome-extension content-security-policy angular

我有一个使用 Angular 11 的 Chrome 扩展。我刚刚将其更新到 12,现在我得到了

拒绝执行内联事件处理程序,因为它违反了以下内容安全策略指令:“script-src 'self' 'unsafe-eval'”。启用内联执行需要“unsafe-inline”关键字、哈希值(“sha256-...”)或随机数(“nonce-...”)。请注意,除非存在“unsafe-hashes”关键字,否则哈希不适用于事件处理程序、样式属性和 javascript: 导航。

所以,我想如果它曾经在 Angular 11 中工作,那么应该可以在 Angular 12 中工作。

所以,在我的清单中我已经有:

"content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'
Run Code Online (Sandbox Code Playgroud)

我尝试将其添加unsafe-hashes到角度的index.html

<meta http-equiv="Content-Security-Policy" content="default-src 'none'; script-src 'self' 'unsafe-inline' 'unsafe-hashes' 'sha256-oFP6B0o0upf5CwDxtOuL0J68WAdmyZUBtL/g8VBQ9wE='; style-src 'self'; base-uri 'self';">
Run Code Online (Sandbox Code Playgroud)

但这并不能解决该错误(甚至更多错误)

这是一个公共存储库,可以在此处找到具有更新的分支

有什么建议如何解决这个问题吗?

Jea*_*eri 7

在这篇文章中我发现了解决该问题的内容

在此输入图像描述

然后运行生产构建

$> ng build --configuration production
Run Code Online (Sandbox Code Playgroud)

它有效:)如果有更好的解决方案请告诉我!