Javascript 无法在IE8中加载xml文件
我正试图找到加载xml文件并按标记名检索元素值的解决方案,但仍停留在最后一步。代码在除IE8之外的所有其他现代浏览器中运行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
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安全设置的黄色注释:。谢谢大家的帮助,我自己解决了这个问题。再次感谢!