ActiveXObject( Microsoft.XmlDom ) 在Firefox下兼容性问题

本文探讨了在处理DOM元素时,ActiveXObject在IE与Firefox的兼容性问题。为了解决这一问题,文章提供了相应的代码片段,通过检查ActiveXObject是否存在来决定使用哪种方法创建XMLDOM对象。对于加载XML字符串,文章提出了使用try-catch结构,尝试使用IE的LoadXML方法,如果失败则转而使用Firefox支持的DOMParser解析XML。
摘要由CSDN通过智能技术生成


不同浏览器下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");
     }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值