在Safari没有XSLTProcessor中()的支持?
-
19-09-2019 - |
题
无论出于何种原因,我不能让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, iPhone模拟器上OSX, 的Safari OSX
<强>不在所有强>工作: 移动Safari浏览器在iPhone上, Windows上的Safari
我缺少的东西?有没有一种解决方法XSLTProcessor()
?将服务器端XSLT处理是反正移动开发更快?
解决方案
我敢肯定移动Safari浏览器不支持XSLT,作为底层OS X实现不包括存在于OS X桌面版本的相关库。
服务器端的处理肯定会成为移动应用反正更快:任何处理就可以合理地从手机上移开到服务器是一个双赢
。其他提示
您的JS代码似乎是正确的。 Safari浏览器(和Safari移动和)实际上可以有XSLT支持。这只是一个无情的实现。问题是,有时它可能看起来像它不只是工作,因为它不是冗长都失败时。
请记住,webkit的XSL引擎是基于libxsl,这样你就可以使用基于这个库来对您的文档测试您的样式表的任何软件。我个人使用xslproc失败就像Safari浏览器,但提供更多的输出。
如果你不能让出了问题的,只是张贴了XSLT和XML文件。
不隶属于 StackOverflow