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

来源:互联网 发布:淘宝b2c 编辑:程序博客网 时间:2024/05/21 21:01


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

原创粉丝点击