在 dotnetnuke 中启用复合文件时,为什么 SVG 背景图像会损坏?

问题描述 投票:0回答:1

我正在开发的网站使用压缩的 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 文件?

css .net svg dotnetnuke
1个回答
1
投票

DotNetNuke 的 客户端资源管理框架 是管理 CSS 文件并处理它们以确保通过其

DependencyHandler.axd
端点提供资源的组件。

但是,该组件中存在一个关于数据 URI 的错误,就像您在此处使用的那样,不应通过依赖项处理程序提供服务。该错误已在 DNN 7.0.5 中修复了

© www.soinside.com 2019 - 2024. All rights reserved.