iphone - Safari 中不支持 XSLTProcessor() 吗?

标签 iphone safari mobile-safari xslt

出于某种原因,我无法让 XSLTProcessor() 一直工作。

这是我的 JS:

... xsltProcessor = new XSLTProcessor();
xsltProcessor.importStylesheet(xmlRequest.responseXML);
// Pass variables
xsltProcessor.setParameter(null, "sectionNumber", section);
xsltProcessor.setParameter(null, "entryNumber", elementNo);

// Transform XML using XSL
var resultDocument = xsltProcessor.transformToFragment(phonebookDump,document);
// Append to document
document.getElementById('three').appendChild(resultDocument);

工作正常: OSX 上的火狐浏览器, OSX 上的 iPhone 模拟器, OSX 上的 Safari

根本不起作用: iPhone 上的移动 Safari, Windows 上的 Safari

我错过了什么吗? XSLTProcessor() 有解决方法吗?对于移动开发来说,服务器端 XSLT 处理是否会更快?

最佳答案

你的 JS 代码看起来是正确的。 Safari(以及 Safari Mobile)实际上具有 xslt 支持。这只是无情的实现。问题是,有时它可能看起来不起作用,只是因为它失败时根本不冗长。

请记住,webkit xsl 引擎基于 libxsl,因此您可以使用基于此库的任何软件来根据文档测试样式表。我个人使用的 xslproc 与 safari 一样失败,但提供了更多的输出。

如果您无法解决问题,只需发布​​ xslt 和 XML 文件即可。

关于iphone - Safari 中不支持 XSLTProcessor() 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1705584/

相关文章:

ios - "Invalid Binary"iTunes 连接 (Swift 2)

javascript - JavaScript 中匿名函数的removeEventListener

html - 如何在 Safari 中禁用 AirPlay 按钮?

javascript - iOS safari 会自动扩展 iframe

ios - Heroku上具有Devise的Rails 3.2应用程序:无法使用Mobile Safari登录

iphone - 如何使用 RestKit 将对象发布到 rails?

ios - 快速从多个 View 获取数据

iphone - 在后台运行 NSTimer

jquery - Safari 不激活 jquery 提交操作的 css 规则

html - 在 iPhone 中单击 anchor /链接(在特定页面中)时字体大小会增加