源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2020-09-05 13:49 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:javascript下有关dom以及xml节点访问兼容问题
最近整理浏览器兼容的问题,搞的实在头大,在前人的帮助之下,还是有点进展,下面帖一些代码,我想会比较有用
[u]复制代码[/u] 代码如下:
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;      }  }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部