Firefox 不再解释 XSLT-1.0
Posted
技术标签:
【中文标题】Firefox 不再解释 XSLT-1.0【英文标题】:Firefox doesn't interpret XSLT-1.0 anymore 【发布时间】:2019-11-22 10:32:33 【问题描述】:我使用 XSLT 将大量数据保存在 XML 文件中,以便在 Firefox 中正确显示内容。但是从今天开始,Firefox 不再解释 XSLT,而是显示白页或块中的数据。
我当前的 Firefox 版本是 68.0(64 位)。新版本中的 XSLT 是否存在错误,或者 XSLT 在 Firefox 68.0 中仅默认禁用?
【问题讨论】:
您是在本地还是从 Web 服务器打开 XML 文件?在前一种情况下,它可能会受到此修复的影响:mozilla.org/en-US/security/advisories/mfsa2019-21/… 我在本地打开文件(file:///home/...) 似乎相关的 bugzilla 错误是 bugzilla.mozilla.org/show_bug.cgi?id=1565261,这表明它确实是由尝试修复 Tim C 链接到的安全问题以及将about:config
中的 privacy.file_unique_origin
设置为 @987654325 引起的@ 是一种“解决方法”。
@MartinHonnen:这应该是一个答案。
【参考方案1】:
正如 Tim C 在评论中指出的那样,由于安全修复的副作用,在从本地文件系统加载的 XML 文档中使用 <?xml-stylesheet href="foo.xsl" ..?>
不再在 Mozilla 中工作。该问题被报告为错误https://bugzilla.mozilla.org/show_bug.cgi?id=1565261,但似乎无意修复它,因为 Chrome 和其他基于 Chromium 的浏览器早已停止支持从本地文件系统加载的 XML 文档中引用的 XSLT。
然而,错误报告中的讨论表明,将about:config
中的privacy.file_unique_origin
设置为false
是一种“解决方法”。
请记住,它会将您暴露于安全问题,该问题的修复禁用了使用从本地文件系统加载的xml-stylesheet
处理指令引用的 XSLT。
【讨论】:
以上是关于Firefox 不再解释 XSLT-1.0的主要内容,如果未能解决你的问题,请参考以下文章