不同浏览器下DOM元素操作
IE下一般这样做:
var xmlDom= new ActiveXObject("Microsoft.XMLDOM");
为了兼容Firefox,需要修改为:
if (window.ActiveXObject){
var xmlDom= new ActiveXObject("Microsoft.XMLDOM");
}
else{
if (document.implementation&& document.implementation.createDocument){
var xmlDom= document.implementation.createDocument("","",null);
}
}
在使用DOM操作XML文件时,我们可以使用Load方法直接加载文件路径即可,在IE和Firefox下通用。但是如果传入的是XML字符串,则在两种浏览器下就会有所不同,IE下可以使用LoadXML方法直接调入下XML串,在Firefox下则不存在该方法,因此要使用W3CDom方式,具体如下:
var oParser=new DOMParser();
xmlDom=oParser.parseFromString(xmlStr,"text/xml");
为兼容各种浏览器,我们这样去做即可:
try{
xmlDom.loadXML(xmlStr);
}catch(e){
var oParser=new DOMParser();
xmlDom=oParser.parseFromString(xmlStr,"text/xml");
}
本文探讨了在处理DOM元素时,ActiveXObject在IE与Firefox的兼容性问题。为了解决这一问题,文章提供了相应的代码片段,通过检查ActiveXObject是否存在来决定使用哪种方法创建XMLDOM对象。对于加载XML字符串,文章提出了使用try-catch结构,尝试使用IE的LoadXML方法,如果失败则转而使用Firefox支持的DOMParser解析XML。

被折叠的 条评论
为什么被折叠?



