Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.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 无法在IE8中加载xml文件_Javascript_Html_Xml_Internet Explorer 8_Xmlhttprequest - Fatal编程技术网

Javascript 无法在IE8中加载xml文件

Javascript 无法在IE8中加载xml文件,javascript,html,xml,internet-explorer-8,xmlhttprequest,Javascript,Html,Xml,Internet Explorer 8,Xmlhttprequest,我正试图找到加载xml文件并按标记名检索元素值的解决方案,但仍停留在最后一步。代码在除IE8之外的所有其他现代浏览器中运行 function getXML(xmlStr) { if (window.DOMParser) { alert("window.DOMParser"); return (new window.DOMParser()).parseFromString(xmlStr, "text/xml"); } else if (typeof wi

我正试图找到加载xml文件并按标记名检索元素值的解决方案,但仍停留在最后一步。代码在除IE8之外的所有其他现代浏览器中运行

function getXML(xmlStr) {
    if (window.DOMParser) {
       alert("window.DOMParser");
       return (new window.DOMParser()).parseFromString(xmlStr, "text/xml");
    } else if (typeof window.ActiveXObject != "undefined" && new window.ActiveXObject("Microsoft.XMLDOM")) {
       alert("Microsoft.XMLDOM");
       var xmlDoc = new window.ActiveXObject("Microsoft.XMLDOM");
       xmlDoc.async = "false";
       xmlDoc.loadXML(xmlStr);
       alert("xmlDoc");
       return xmlDoc;
    } else {
       return null;
  }
}

$(document).ready(function() {
  var xmlStr = "<xml><elem>element1</elem><elem>element2</elem></xml>";
  var xmlDoc = getXML(xmlStr);
  $("#result").html("<b>Elemtent:</b> " + JSON.stringify(xmlDoc) + "<br/><br>");
});
函数getXML(xmlStr){ if(window.DOMParser){ 警报(“window.DOMParser”); return(new window.DOMParser()).parseFromString(xmlStr,“text/xml”); }else if(typeof window.ActiveXObject!=“未定义”&&new window.ActiveXObject(“Microsoft.XMLDOM”)){ 警报(“Microsoft.XMLDOM”); var xmlDoc=new window.ActiveXObject(“Microsoft.XMLDOM”); xmlDoc.async=“false”; loadXML(xmlStr); 警报(“xmlDoc”); 返回xmlDoc; }否则{ 返回null; } } $(文档).ready(函数(){ var xmlStr=“element1element2”; var xmlDoc=getXML(xmlStr); $(“#result”).html(“元素:+JSON.stringify(xmlDoc)+”

”; }); 我在这里创建了,这是对实际帖子答案的修改


我试过很多方法,但一点运气都没有。是否可以在IE8中加载xml并获取值?

是否尝试捕获IE8引发的错误?另外,既然您已经在使用jQuery,为什么不使用
$.parseXML(xmlStr)
而不是
loadXML
?是的,没有错误。IE8不是一款现代浏览器,它很古老,Microsoft不再支持它。IE8不支持
window.DOMParser
,我怀疑如果禁用了activex(默认情况下是这样),那么
getXML
函数只会返回null。我建议您放弃对IE8的支持。请看下面关于IE安全设置的黄色注释:。谢谢大家的帮助,我自己解决了这个问题。再次感谢!