网络编程 
首页 > 网络编程 > 浏览文章

javascript下有关dom以及xml节点访问兼容问题

(编辑:jimmy 日期: 2025/12/14 浏览:3 次 )
最近整理浏览器兼容的问题,搞的实在头大,在前人的帮助之下,还是有点进展,下面帖一些代码,我想会比较有用

复制代码 代码如下:
var  isIE  =   ????; 
// 全局变量,判断是否ie,自完善 
// new dom 方法 
function  parseXML(st){ 
     if (isIE){ 
         var  result  =   new  ActiveXObject( "microsoft.XMLDOM" ); 
        result.loadXML(st); 
    } else { 
         var  parser  =   new  DOMParser(); 
         var  result  =  parser.parseFromString(st,  "text/xml" ); 
    } 
     return  result; 

if ( ! isIE){ 
     var  ex; 
    // 定义节点xml属性 
    XMLDocument.prototype.__proto__.__defineGetter__( "xml" ,  function (){ 
         try { 
             return   new  XMLSerializer().serializeToString( this ); 
        } catch (ex){ 
             var  d  =  document.createElement( "div" ); 
            d.appendChild( this .cloneNode( true )); 
             return  d.innerHTML; 
        } 
    }); 
    Element.prototype.__proto__.__defineGetter__( "xml" ,  function (){ 
         try { 
             return   new  XMLSerializer().serializeToString( this ); 
        } catch (ex){ 
             var  d  =  document.createElement( "div" ); 
            d.appendChild( this .cloneNode( true )); 
             return  d.innerHTML; 
        } 
    }); 
    //定义节点text属性 
    XMLDocument.prototype.__proto__.__defineGetter__( "text" ,  function (){ 
         return   this .firstChild.textContent 
    }); 
    Element.prototype.__proto__.__defineGetter__( "text" ,  function (){ 
         return   this .textContent 
    }); 
    // 定义selectSingleNode、selectNodes  方法 
    XMLDocument.prototype.selectSingleNode = Element.prototype.selectSingleNode = function (xpath){ 
         var  x = this .selectNodes(xpath) 
         if ( ! x  ||  x.length < 1 ) return   null ; 
         return  x[ 0 ]; 
    } 
    XMLDocument.prototype.selectNodes = Element.prototype.selectNodes = function (xpath){ 
         var  xpe  =   new  XPathEvaluator(); 
         var  nsResolver  =  xpe.createNSResolver( this .ownerDocument  ==   null   ?  
             this .documentElement :  this .ownerDocument.documentElement); 
         var  result  =  xpe.evaluate(xpath,  this , nsResolver,  0 ,  null ); 
         var  found  =  []; 
         var  res; 
         while  (res  =  result.iterateNext()) 
            found.push(res); 
         return  found; 
    } 

}
上一篇:js 复制功能 支持 for IE/FireFox/mozilla/ns
下一篇:惊云JS随机排序程序随机显示信息-每次新闻显示顺序都不一样
一句话新闻
Windows上运行安卓你用过了吗
在去年的5月23日,借助Intel Bridge Technology以及Intel Celadon两项技术的驱动,Intel为PC用户带来了Android On Windows(AOW)平台,并携手国内软件公司腾讯共同推出了腾讯应用宝电脑版,将Windows与安卓两大生态进行了融合,PC的使用体验随即被带入到了一个全新的阶段。
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网 网站地图 SiteMap