源码网,源码论坛,源码之家,商业源码,游戏源码下载,discuz插件,棋牌源码下载,精品源码论坛

 找回密码
 立即注册
查看: 320|回复: 16

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

[复制链接]

7万

主题

861

回帖

32万

积分

论坛元老

Rank: 8Rank: 8

积分
329525
发表于 2007-11-26 22:28:15 | 显示全部楼层 |阅读模式
最近整理浏览器兼容的问题,搞的实在头大,在前人的帮助之下,还是有点进展,下面帖一些代码,我想会比较有用

复制代码 代码如下:
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; 
    } 

}
回复

使用道具 举报

14

主题

1万

回帖

75

积分

注册会员

Rank: 2

积分
75
发表于 2022-12-29 02:57:12 | 显示全部楼层
很不错的玩意
回复 支持 反对

使用道具 举报

0

主题

1万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2023-1-2 18:46:51 | 显示全部楼层
儿飞飞微风DVD谁vdsvd
回复 支持 反对

使用道具 举报

8

主题

2万

回帖

52

积分

注册会员

Rank: 2

积分
52
发表于 2023-1-13 18:28:32 | 显示全部楼层
大家都不容易!
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2023-7-7 09:25:02 | 显示全部楼层
的谁vdvdsvdsvdsdsv
回复 支持 反对

使用道具 举报

4

主题

1万

回帖

60

积分

注册会员

Rank: 2

积分
60
发表于 2023-9-1 22:22:24 | 显示全部楼层
大家都不容易!
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2024-5-9 14:18:10 | 显示全部楼层
先把创新班才能下班才能下班
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

55

积分

注册会员

Rank: 2

积分
55
发表于 2024-5-21 11:35:01 | 显示全部楼层
好东西一定要看看!
回复 支持 反对

使用道具 举报

7

主题

2万

回帖

288

积分

中级会员

Rank: 3Rank: 3

积分
288
发表于 2024-7-5 23:59:44 | 显示全部楼层
很不错的源码论坛
回复 支持 反对

使用道具 举报

2

主题

2万

回帖

99

积分

注册会员

Rank: 2

积分
99
发表于 2024-7-30 14:43:20 | 显示全部楼层
还可以不错
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

手机版|小黑屋|网站地图|源码论坛 ( 海外版 )

GMT+8, 2024-11-22 03:18 , Processed in 0.144301 second(s), 26 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表