2015-07-28 179 views
0

我对XMLDOM和Microsoft Edge浏览器有一个非常简单但令人沮丧的问题。我一直在查看当前的文档,但我没有看到这些功能的任何功能。在我们的代码库中,我们有一个工作是返回一个XMLDOM对象的函数。功能做到这一点 -XMLDOM与Microsoft Edge

if(activeXDetected()) { 
    domObject = new ActiveXObject("Microsoft.XMLDOM"); 
} else { 
    domObject = document.implementation.createDocument(...); 
} 

我没想到在边缘的ActiveX的支持,但我希望这个模式将回落至几乎所有其他浏览器(document.implementation使用相同的模式.... )。在这个用例中,使用边缘浏览器,根本没有返回对象中的loadXML方法,并且据我所知,你回来的东西(并且你得到一个对象)似乎是一个通用的dom目的。

如何获得XMLDOM对象与所有支持的方法等。人。

回答

-1

什么是activeXDetected()

使用特征检测,而不是

if(ActiveXObject) { 
    domObject = new ActiveXObject("Microsoft.XMLDOM"); 
} else { 
    domObject = document.implementation.createDocument(...); 
} 
+0

的代码如下 - 回报(window.ActiveXObject || window.ActiveXObject ==未定义!); 此方法是在IE11中进行正确检测所必需的。您发布的版本实际上在IE11中失败,您实际上需要为未定义的类型检查。 我敢肯定,在边缘活动x检测失败是正确的。 –