我正在开发的网站使用压缩的 SVG 图像作为 dotnetnuke 网站中按钮的背景图像。 DNN 版本为 07.00.00 (1586)。 CSS 看起来像这样:
a.primaryButton {
background: url(data:image/svg+xml;base64,[data]);
}
注意:我在这里使用了[数据]而不是实际的压缩文件。
当我在主机 -> 主机设置 -> 高级设置 -> 客户端资源管理中启用复合文件并选中 Minify CSS 和 Minify JS 时,上面的背景图像更改为:
a.primaryButton {
background: url(https://mydevsite.com/DependencyHandler.axd/image/svg+xml;base64,[data]);
}
一旦发生这种情况,SVG 背景图像将不再出现。我最初的想法是尝试压缩已经压缩的 SVG 时出现问题。如果我将 URL 复制并粘贴到浏览器中,我会收到 400 无效请求响应。为什么在 DNN 中启用复合文件后 SVG 背景图会失效?
再想一想,DNN 复合文件处理程序将上面代码中的
data:
替换为 https://mydevsite.com/DependencyHandler.axd
确实没有意义,所以后续问题是,如何阻止 DNN 复合文件功能尝试压缩在 css 代码中用作背景图像的 SVG 文件?