Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将XML加载到DOM中并替换Microsoft.XMLDOM的使用_Javascript_Xml_Internet Explorer 11 - Fatal编程技术网

Javascript 将XML加载到DOM中并替换Microsoft.XMLDOM的使用

Javascript 将XML加载到DOM中并替换Microsoft.XMLDOM的使用,javascript,xml,internet-explorer-11,Javascript,Xml,Internet Explorer 11,我正在使用一些遗留代码,在许多地方都有从某个url获取XML数据的代码。这很直截了当 var xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.async="false"; xmlDoc.load(url); 在某些地方 var httpRequest= new ActiveXObject("Msxml2.XMLHTTP.6.0"); httpRequest.open('GET', url, false); ht

我正在使用一些遗留代码,在许多地方都有从某个url获取XML数据的代码。这很直截了当

var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";           
xmlDoc.load(url);
在某些地方

var httpRequest= new ActiveXObject("Msxml2.XMLHTTP.6.0");
httpRequest.open('GET', url, false);
httpRequest.send(null);
在大多数情况下,我们从响应XML中挑选结果。 我在很多地方看到,“Microsoft.XMLDOM”的用法已经过时,取而代之的是ActiveXObject(“Msxml2.XMLHTTP.6.0”)。 对于其他浏览器,我应该使用标准的W3CXMLHttpRequest。这似乎没有任何问题

问题在于加载结果xml字符串。 我看到loadXML是在使用“Microsoft.XMLDOM”时定义的,而不是在ActiveXObject(“Microsoft.XMLHTTP”)中定义的

对于其他浏览器,建议使用DOMParser和IE-11

这就是我从url检索信息时所做的 解析该信息,然后最后尝试将XML字符串加载到DOM中。 我的主要问题是,我越来越困惑,在使用Internet Explorer处理XML时,什么样的解决方案才是合适的,或者可能现在已经太晚了。 我想删除“Microsoft.XMLDOM”的用法,但要执行loadXML,我必须回到它。有没有更好的办法


我认为IE5和IE6的代码是

new ActiveXObject("Microsoft.XMLHTTP")
对于IE7+(以及其他浏览器)


您可以采取以下步骤:

  • 转到internet选项
  • 选择安全选项卡
  • 在自定义级别下
  • 确保Initialize and script active x控件未标记为脚本安全选择启用单选按钮,然后立即尝试运行代码
  • 我相信你的问题会解决的

    new ActiveXObject("Microsoft.XMLHTTP")
    
    new XMLHttpRequest();