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


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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章