0

简单的问题

Chrome/Chromium 浏览器内置的 XSLT 处理是否依赖于启用的 JavaScript?

语境

我有一个 Web 应用程序,它始终提供 XML 以使用 XSLT 在客户端进行转换。它还大量使用客户端 JavaScript。我添加了一些标记和 JavaScript,如果 JavaScript 没有运行,它会向用户显示一个警告,即应用程序将无法正常运行,直到他们打开它。

这适用于 IE 和 Firefox,但是当我在 Chrome 浏览器中“不允许”JavaScript 时,页面根本不会呈现。

4

2 回答 2

1

我在 Windows 7 上使用 Google Chrome 版本 23.0.1271.95 m 进行了测试,测试文档http://home.arcor.de/martin.honnen/xslt/test2012120701.xmlxml-stylesheet (具有应用 XSLT 样式表 test2012120701.xsl的处理指令的 XML 文档创建带有 script 元素的 HTML 结果文档)和http://home.arcor.de/martin.honnen/xslt/test2012120702.xml(具有处理指令的 XML 文档xml-stylesheet应用 XSLT 样式表 test2012120702.xsl,它创建没有任何脚本的 HTML 结果文档)事实上,对于这两个文档,当在 Chrome 中禁用 Javascript 时,什么都不会呈现。使用带有 F12 的开发人员工具只显示xml-stylesheet文档树中的处理指令节点。

因此,基于该测试,确实似乎在 Chrome 中禁用 Javascript 会阻止通过xml-stylesheet处理指令进行的 XSLT 处理工作。当我在 Chrome 中再次启用 Javascript 并重新加载文档时,两种情况都会应用 XSLT。

Chrome 的行为是故意的还是我不知道的错误,但我可以确认问题。

于 2012-12-07T18:01:05.773 回答
0

不,它没有

问题是您调用 XSLT 转换的方式

如果您使用处理指令执行此操作

拿这个不使用Javascript的样本(或多或少工作)

http://innovimax.fr/open-data.xsl

我说“或多或少”是因为该示例是在 Twitter 拥有 XML API 时完成的。现在只有 JSON。

于 2012-12-07T17:12:42.337 回答