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


Posted in Javascript onNovember 26, 2007

最近整理浏览器兼容的问题,搞的实在头大,在前人的帮助之下,还是有点进展,下面帖一些代码,我想会比较有用

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;  
    }  }
Javascript 相关文章推荐
Javascript里使用Dom操作Xml
Jan 22 Javascript
firefox插件Firebug的使用教程
Jan 02 Javascript
Jquery插件写法笔记整理
Sep 06 Javascript
js网页中的(运行代码)功能实现思路
Feb 04 Javascript
JavaScript实现弹出子窗口并传值给父窗口
Dec 18 Javascript
JavaScript中的对象的extensible属性介绍
Dec 30 Javascript
Javascript中typeof 用法小结
May 12 Javascript
javascript封装 Cookie 应用接口
Aug 07 Javascript
jQuery实现文本框邮箱输入自动补全效果
Nov 17 Javascript
javascript自动切换焦点控制效果完整实例
Feb 02 Javascript
vue组件 $children,$refs,$parent的使用详解
Jul 31 Javascript
Vue2.0实现简单分页及跳转效果
Jul 29 Javascript
asp javascript 实现关闭窗口时保存数据的办法
Nov 24 #Javascript
javascript实现的动态添加表单元素input,button等(appendChild)
Nov 24 #Javascript
用js查找法实现当前栏目的高亮显示的代码
Nov 24 #Javascript
精解window.setTimeout()&amp;window.setInterval()使用方式与参数传递问题!
Nov 23 #Javascript
document.designMode的功能与使用方法介绍
Nov 22 #Javascript
Flash+XML滚动新闻代码 无图片 附源码下载
Nov 22 #Javascript
摘自百度的图片轮换效果代码
Nov 19 #Javascript
You might like
PHP+FastCGI+Nginx配置PHP运行环境
2014/08/07 PHP
如何使用PHP对网站验证码进行破解
2015/09/17 PHP
解决PHP使用CURL发送GET请求时传递参数的问题
2019/10/11 PHP
javascript+css 网页每次加载不同样式的实现方法
2009/12/27 Javascript
Javascript 实现TreeView CheckBox全选效果
2010/01/11 Javascript
关于js获取radio和select的属性并控制的代码
2011/05/12 Javascript
json的前台操作和后台操作实现代码
2012/01/20 Javascript
JavaScript可否多线程? 深入理解JavaScript定时机制
2012/05/23 Javascript
jquery css 设置table的奇偶行背景色示例
2014/06/03 Javascript
Javascript Memoizer浅析
2014/10/16 Javascript
javascript搜索框效果实现方法
2015/05/14 Javascript
实例讲解jQuery中对事件的命名空间的运用
2016/05/24 Javascript
jQuery EasyUI常用数据验证汇总
2016/09/18 Javascript
nodejs 终端打印进度条实例代码
2017/04/22 NodeJs
jQuery操作css样式
2017/05/15 jQuery
jQuery的时间datetime控件在AngularJs中的使用实例(分享)
2017/08/17 jQuery
如何理解Vue的v-model指令的使用方法
2018/07/19 Javascript
vue实现微信分享功能
2018/11/28 Javascript
vue组件之间的数据传递方法详解
2019/04/19 Javascript
React+EggJs实现断点续传的示例代码
2020/07/07 Javascript
vue使用exif获取图片旋转,压缩的示例代码
2020/12/11 Vue.js
Python做文本按行去重的实现方法
2016/10/19 Python
Python读取txt某几列绘图的方法
2018/10/14 Python
Python 3.6打包成EXE可执行程序的实现
2019/10/18 Python
django执行数据库查询之后实现返回的结果集转json
2020/03/31 Python
python 实现 hive中类似 lateral view explode的功能示例
2020/05/18 Python
python thrift 实现 单端口多服务的过程
2020/06/08 Python
Django使用django-simple-captcha做验证码的实现示例
2021/01/07 Python
HTML5注册页面示例代码
2014/03/27 HTML / CSS
《小鹰学飞》教学反思
2014/04/23 职场文书
农村婚礼司仪主持词
2015/06/29 职场文书
2015年大学迎新工作总结
2015/07/16 职场文书
2019最新婚庆对联集锦!
2019/07/10 职场文书
详细总结Python常见的安全问题
2021/05/21 Python
关于Python OS模块常用文件/目录函数详解
2021/07/01 Python
vue特效之翻牌动画
2022/04/20 Vue.js