Chrome浏览器中的客户端XSLT处理似乎依赖于JavaScript

时间:2012-12-07 15:02:25

标签: javascript google-chrome xslt

简单问题

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

上下文

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

这适用于IE和Firefox,但是当我"不允许" Chrome浏览器中的JavaScript,页面根本无法呈现。

2 个答案:

答案 0 :(得分:1)

我在Windows 7上使用Google Chrome版本23.0.1271.95 m测试了测试文档http://home.arcor.de/martin.honnen/xslt/test2012120701.xml(具有xml-stylesheet处理指令的XML文档,以应用XSLT样式表test2012120701.xsl,该脚本使用脚本创建HTML结果文档element)和http://home.arcor.de/martin.honnen/xslt/test2012120702.xml(具有xml-stylesheet处理指令的XML文档,用于应用XSLT样式表test2012120702.xsl,无需任何脚本即可创建HTML结果文档),对于这两个文档,当在Chrome中禁用Javascript时,没有任何内容渲染。使用带有F12的开发人员工具只显示文档树中的xml-stylesheet处理指令节点。

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

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

答案 1 :(得分:0)

不,不是

问题在于您调用XSLT转换的方式

如果使用Processing-Instruction

执行此操作

拿这个不使用Javascript的样本(或多或少有效)

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

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