【发布时间】:2020-02-22 04:21:30
【问题描述】:
我还在官方 repo 上以Github Issue 的形式发布了我的问题。
我正在使用PreMailer.Net 将 CSS 内联到 HTML 文档中。但是,当我调用 MoveCssInline 时,它会编码非 ASCII 字符,例如“&”。例如:
<a href="http://www.website.com/page?param1=a¶m2=b"></a>
改为:
<a href="http://www.website.com/page?param1=a&param2=b"></a>
我认为这种行为仅限于 URL 和 href 值,但事实证明它也编码了 innerHTML/content。例如:
另外,我进一步测试,发现这种编码不仅仅对像href这样的属性进行。事实上,它还会对 text/InnerHTML 值进行编码,这些值是没有编码的绝对有效的 html。示例:
<p>&</p>
这是有效的 HTML,不应编码,但 PreMailer.Net 会将其更改为:
<p>&</p>
有人对此有修复或解决方法吗?我无法控制 HTML 文档,并且除了内联 CSS 之外,我不允许更改 URL 或内容。
【问题讨论】:
-
@GalaxyCat105 - 我无法访问 JavaScript,这都是在 ASP.NET / C# 环境中运行的服务器端。