【发布时间】:2021-08-06 11:44:44
【问题描述】:
升级到 Angular 12 后,我的内容安全策略会阻止样式正确加载。
Angular 12 devkit 似乎在 index.html 中的 CSS 包引用中添加了一个新的内联事件处理程序,示例如下。
<link rel="stylesheet" href="styles.5951e4ca367b697db091.css" crossorigin="anonymous" integrity="sha384-2031E8+oC87S0N7NzRGcF8fqx777KEJOgQ3KcUN4aX6xsR3BVaV5sh4fibR5joOc" media="print" onload="this.media='all'">
错误
Refused to execute inline event handler because it violates the following Content Security Policy directive...
这似乎与此 RFC:https://github.com/angular/angular-cli/issues/18730 有关,但我找不到有关如何将其与严格(无“不安全内联”)CSP 一起使用的更多信息。
【问题讨论】:
-
我认为目前最好的解决方案是为那个超级简单的脚本
this.media='all'添加 sha256 哈希。见:github.com/angular/angular-cli/issues/…
标签: angular angular-cli angular-devkit