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");
     }

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