Javascript 检测xml对象类型
多年来,我一直在努力实现一种健壮的浏览器独立方式,即在javascript中使用xpath xml文件加载和导航;特别是在IE方面 我饶有兴趣地阅读了Ref:-备注段落,该段落导致IE在IE8或IE9之前开始支持XMLHttpRequest,但.responseXML仍然返回MSXML对象,而不是本机XML对象。在IE10中,它可能返回也可能不返回本机XML对象 此外,我还发现,如果我碰巧有一个ActiveX版本,其中doc可能是ActiveX对象,也可能不是ActiveX对象,那么:Javascript 检测xml对象类型,javascript,xml,internet-explorer,Javascript,Xml,Internet Explorer,多年来,我一直在努力实现一种健壮的浏览器独立方式,即在javascript中使用xpath xml文件加载和导航;特别是在IE方面 我饶有兴趣地阅读了Ref:-备注段落,该段落导致IE在IE8或IE9之前开始支持XMLHttpRequest,但.responseXML仍然返回MSXML对象,而不是本机XML对象。在IE10中,它可能返回也可能不返回本机XML对象 此外,我还发现,如果我碰巧有一个ActiveX版本,其中doc可能是ActiveX对象,也可能不是ActiveX对象,那么: if(d
if(doc.selectNodes)
return doc.selectNodes(....);
导致if表达式出现异常,而不是计算为Falsy,这是a***中的一个难题
这就是我的问题!,即使IE从XHR.responseXML返回本机XML对象,我们仍然不能使用document.evaluate或xmlDoc.evaluate来执行xpath导航,这是真的吗
我似乎已经发现,如果我在IE中使用XHR并取回一个原生XML文档,我根本无法执行xpath。结果是,我不得不强制使用新的ActiveXObjectMsxml2.DOMDocument.3.0,而不是所有IE的XHR
有什么建议就好了。如果我想使用xpath,我简直不敢相信我必须在IE中使用Msxml2.DOMDocument.3.0
谢谢。这对我来说仍然是一个问题,尽管现在IE11已经过时,但事情更加复杂,因为IE11从XHR.responseXML返回一个原生XML文档,而不是MSXML对象。任何帮助都将不胜感激。