使用jQuery转换插件在Google Chrome上使用xsl:include和xsl:param

Bru*_*pos 8 xslt jquery google-chrome jquery-plugins

我一直在尝试将XSL与谷歌Chrome一起使用,但没有成功.
我读到Chrome有一些XSLT漏洞,其中一个是它不支持xsl:include.可以在此处查看错误:http://code.google.com/p/chromium/issues/detail?id = 8441.
经过一些研究后,我发现了Daer System的转换插件的新版本,它使得xsl:include在Chrome上工作.

jQuery Transform插件可以在http://plugins.jquery.com/project/Transform中找到

现在我的问题是:
我在一些xsl模板中使用默认包含,而这包括使用传递给顶级模板的参数.

所以它就像我有top.xsl模板声明一个[xsl:param name ="param"/],我使用这个param与included.xsl,由第一个调用[xsl:include href = "included.xsl"].这适用于Firefox和Internet Explorer,但不适用于Chrome.我在stackoverflow上看到一个问题,其中一些人从插件重写webkit修复函数,但它不能用xsl:param这样工作.

有谁知道在谷歌浏览器中使用[xsl:param]这样的方法?

jsa*_*nen 1

您的问题是 Google Chrome (=Chromium) 不支持xsl:include

Chromium 项目中明显缺乏此功能,如“问题 8441:JS 中的 XSLTProcessor 不允许 xsl:include for http”中提出的那样提出的那样。看来该问题是由 WebKit(Chrome 中使用的渲染引擎)中的某些架构问题引起的。由于此问题源自 WebKit,因此该错误被标记为 WontFix——随着 WebKit 中的原始问题得到解决,将来(希望)会提供修复程序。

我看到了三种可能的替代方案来为您解决这个问题:

  1. 等到 WebKit/Chrome 获得修复此问题的补丁(可能需要很长时间......)
  2. 创建/找到一个可以解决此问题的 hack,例如通过以某种方式模拟xsl:includeChrome/Webkit(可能需要大量工作/开发 hack)
  3. 尝试找到一种不需要此特定 XSL 功能的方式编写软件(或者在服务器端运行 XSL 转换)

我的建议:避免在客户端使用 xsl:include 和 xsl:param ,除非您愿意放弃跨浏览器兼容性