简体   繁体   English

带有Microsoft Edge的XMLDOM

[英]XMLDOM with Microsoft Edge

I'm having a very simple but frustrating issue with XMLDOM and Microsoft Edge browser. 我在XMLDOM和Microsoft Edge浏览器中遇到一个非常简单但令人沮丧的问题。 I've been looking over the current documentation but I'm not seeing anything on functionality this legacy. 我一直在查看当前文档,但没有看到有关此旧功能的任何信息。 In our code base, we have a function whos job is to return an XMLDOM object. 在我们的代码库中,我们有一个函数whos的工作是返回XMLDOM对象。 The function does this - 该函数执行此操作-

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

I wasn't expecting ActiveX support in Edge, but I was hoping that the pattern would fall back to the same pattern used by almost every other browser (document.implementation....). 我没想到Edge中会提供ActiveX支持,但我希望这种模式可以回退到几乎所有其他浏览器使用的相同模式(document.implementation ....)。 In this use case though, with edge browser the there is no loadXML method in the returned object at all, and as far as I can tell what you're getting back (and you do get an object back) seems to be a generic dom object. 但是在这种用例中,对于边缘浏览器,返回的对象中根本没有loadXML方法,据我所知,您要返回的内容(确实可以返回一个对象)似乎是一个通用的dom。宾语。

How does one get a XMLDOM object back with all supported methods et. 如何使用所有受支持的方法获取XMLDOM对象等。 al.

what is activeXDetected() ? 什么是activeXDetected()

use feature detection instead 改用特征检测

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM