zoukankan      html  css  js  c++  java
  • (转)如何让ActiveXObject( "Microsoft.XmlDom ")对象在非IE浏览器下显示数据?firefox(火狐)

    如何让ActiveXObject( "Microsoft.XmlDom ")对象在非IE浏览器下显示数据?firefox(火狐)

    在IE浏览器下,xmlDom对象一般这样被定义:

    1. var xmlDom= new ActiveXObject("Microsoft.XMLDOM");  

    为了兼容Firefox,需要修改为:

    1. if (window.ActiveXObject){  
    2.     var xmlDom=new ActiveXObject("Microsoft.XMLDOM");  
    3. }  
    4. else{  
    5.     if (document.implementation&& document.implementation.createDocument){  
    6.         var xmlDom= document.implementation.createDocument("","",null);  
    7.      }  
    8. }  


    在使用DOM操作XML文件时,我们可以使用Load方法直接加载文件路径即可,在ie和ff下通用。但是如果传入的是XML字符串,则在两种浏览器下就 会有所不同,IE下可以使用LoadXML方法直接调入下XML串,在FF下则不存在该方法,因此要使用W3CDom方式,具体如下:

    1. var oParser=new DOMParser();  
    2.    xmlDom=oParser.parseFromString(xmlStr,"text/xml");  


    为兼容各种浏览器,我们这样去做即可:

      1. try{  
      2.   if (window.ActiveXObject){  
      3.     xmlDoc= new ActiveXObject("Microsoft.XMLDOM");  
      4.     xmlDoc.async = false;    
      5.     isLoaded = xmlDoc.load(aXMLFileName);   
      6.   }   
      7.   else if  
      8.      (document.implementation&& document.implementation.createDocument){  
      9.         try{    
      10.             xmlDoc = document.implementation.createDocument('', '', null);    
      11.             xmlDoc.async = false;    
      12.             xmlDoc.load(aXMLFileName);    
      13.         } catch(e){    
      14.             var xmlhttp = new window.XMLHttpRequest();    
      15.             xmlhttp.open("GET",aXMLFileName,false);    
      16.             xmlhttp.send(null);    
      17.             xmlDoc = xmlhttp.responseXML;    
      18.         }    
      19.   }  
      20.   else{  
      21.       alert("load data error");  
      22.   }  
      23.   }  
      24.   catch(e){  
      25.     alert(e.message);  
      26.   } 
  • 相关阅读:
    数据库表与视图的区别
    maven中snapshot版本和正式版本的区别
    @Retention注解
    java泛型以及通配符
    git 删除了本不应该删除的commit 如何恢复
    ES group分组聚合的坑
    solution for 1006 中国剩余定理
    solution for POJ 1001
    ondraw() 和dispatchdraw()的区别
    android几种定时器机制及区别(转载整理)
  • 原文地址:https://www.cnblogs.com/Impulse/p/4011263.html
Copyright © 2011-2022 走看看