为什么 base64 CSS 背景图像不显示在 Firefox 中?

Why don't base64 CSS background images show up in Firefox?

刚刚将我的浏览器升级到 Firefox 40(两天前发布),现在我注意到 base64 CSS 背景图像不再显示。所有其他浏览器,包括旧版本的 Firefox 都可以很好地加载图像。

在控制台中,我收到以下错误:

Content Security Policy: The page's settings blocked the loading of a resource at data:image/png;base64,iVBORw0KGgoAAAA ......... CuwAAAABJRU5ErkJggg== ("default-src *").

我的 CSS 看起来像这样:

.image {
    background-image: url("data:image/svg+xml;base64,iVBORw0KGgoAAAA .....");
}

我正在使用 Angular 并在 html 标签中包含 ng-csp 指令,尽管删除它没有任何区别。

kba 留下的评论就是解决方案!添加 Content-Security-Policy header 和 img-src 的“*数据:”就可以了。新的 Firefox 不包含数据:协议作为 * 的一部分,因此需要明确添加它。