内容安全策略阻止了 Firefox 中的 svg 图标精灵
Content Security Policy is blocking an svg icon sprite in Firefox
我试过在网上搜索,但没有成功。我一直在使用 Chrome/Edge 在我的网站上工作,今天我尝试在 Firefox (93.0) 中打开它,我注意到我的图标 none 正在加载。此错误消息出现在控制台中:
Content Security Policy: The page’s settings blocked the loading of a
resource at http://localhost/icons.svg (“default-src”).
这似乎表明 default-src 被用作后备。我是 运行 具有此 CSP 的 Apache 服务器:
Header set Content-Security-Policy "default-src 'none'; img-src 'self'; object-src 'none'; script-src 'self'; style-src 'self'; frame-ancestors 'none'; base-uri 'self'; form-action 'self'; connect-src 'self'"
图标精灵是这样使用的:
<svg class="icon"><use href="icons.svg#settings"></use></svg>
这只是 Firefox 中的一个问题,因为 Edge、Chrome 和 iOS Safari 都可以正常工作。我有什么办法可以解决这个问题吗?
这是一个旧的 Firefox 浏览器错误 - img-src
指令在 <use xlink:href=>
标签中执行 not cover 源。
Firefox 使用 default-src
来控制 <use xlink:href=>
标签,因此要修复问题,请使用 default-src 'self'
而不是 default-src 'none'
.
我试过在网上搜索,但没有成功。我一直在使用 Chrome/Edge 在我的网站上工作,今天我尝试在 Firefox (93.0) 中打开它,我注意到我的图标 none 正在加载。此错误消息出现在控制台中:
Content Security Policy: The page’s settings blocked the loading of a resource at http://localhost/icons.svg (“default-src”).
这似乎表明 default-src 被用作后备。我是 运行 具有此 CSP 的 Apache 服务器:
Header set Content-Security-Policy "default-src 'none'; img-src 'self'; object-src 'none'; script-src 'self'; style-src 'self'; frame-ancestors 'none'; base-uri 'self'; form-action 'self'; connect-src 'self'"
图标精灵是这样使用的:
<svg class="icon"><use href="icons.svg#settings"></use></svg>
这只是 Firefox 中的一个问题,因为 Edge、Chrome 和 iOS Safari 都可以正常工作。我有什么办法可以解决这个问题吗?
这是一个旧的 Firefox 浏览器错误 - img-src
指令在 <use xlink:href=>
标签中执行 not cover 源。
Firefox 使用 default-src
来控制 <use xlink:href=>
标签,因此要修复问题,请使用 default-src 'self'
而不是 default-src 'none'
.