JavaScript加载xml文件兼容Chrome浏览器;Chrome浏览器没有实现XMLdocument.load方法,我们可以使用XmlHttpRequest,
下面是实例代码
/**
* 跨浏览器解析xml
* @param {Object}
* @returns {fileXmlName}
*/
function parseXML(file) {
var xmlDoc = null;
try {//Internet Explorer 创建一个空的xml文档
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = false;//设置加载XML方式,关闭异步加载xml,使用同步方式加载XML文档
xmlDoc.load(file); //加载xml文件
}
catch (e) {
try {//Firefox, Mozilla, Opera, 创建一个空的xml文档
xmlDoc = document.implementation.createDocument("", "", null);
xmlDoc.async = false;//设置加载XML方式,关闭异步加载xml,使用同步方式加载XML文档
xmlDoc.load(file); //加载xml文件
}
catch (e) {
try {//Google Chrome
var xmlhttp = new window.XMLHttpRequest();
xmlhttp.open("get", file, false);
xmlhttp.send(null);
xmlDoc = xmlhttp.responseXML.documentElement;
} catch (e) {
alert("您的浏览器不能正常加载文件。请切换到兼容模式,或者更换浏览器");
return; //如果创建不成功,就直接返回,不往下走。
}
}
}
return xmlDoc;
}
具体实例参见:省市二级联动
达维营-前端网