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

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

(编辑:jimmy 日期: 2026/5/2 浏览: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随机排序程序随机显示信息-每次新闻显示顺序都不一样
一句话新闻
微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网 网站地图 SiteMap