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中为元素加上name属性的方法
May 09 Javascript
Fastest way to build an HTML string(拼装html字符串的最快方法)
Aug 20 Javascript
JS写的贪吃蛇游戏(个人练习)
Jul 08 Javascript
JqueryMobile动态生成listView并实现刷新的两种方法
Mar 05 Javascript
JavaScript通过this变量快速找出用户选中radio按钮的方法
Mar 23 Javascript
jsMind通过鼠标拖拽的方式调整节点位置
Apr 13 Javascript
学习使用bootstrap3栅格系统
Apr 12 Javascript
第一次接触Bootstrap框架
Oct 24 Javascript
vue项目中公用footer组件底部位置的适配问题
May 10 Javascript
微信小程序文章详情功能完整实例
Jun 03 Javascript
Vue 请求传公共参数的操作
Jul 31 Javascript
Vue toFixed保留两位小数的3种方式
Oct 23 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
虹吸式咖啡壶操作
2021/03/03 冲泡冲煮
PHP 验证身份证是否合法的函数
2017/02/09 PHP
PHP实现的大文件切割与合并功能示例
2018/04/10 PHP
Yii框架自定义数据库操作组件示例
2019/11/11 PHP
浅谈JavaScript编程语言的编码规范
2011/10/21 Javascript
js实现身份证号码验证的简单实例
2014/02/19 Javascript
jQuery实现图片向左向右切换效果的简单实例
2016/05/18 Javascript
JavaScript九九乘法口诀表的简单实现
2016/10/04 Javascript
Angular2中select用法之设置默认值与事件详解
2017/05/07 Javascript
jQuery实现倒计时功能 jQuery实现计时器功能
2017/09/19 jQuery
jQuery实现table表格checkbox全选的方法分析
2018/07/04 jQuery
Bootstrap实现前端登录页面带验证码功能完整示例
2020/03/26 Javascript
vue实现学生信息管理系统
2020/05/30 Javascript
jQuery-App输入框实现实时搜索
2020/11/19 jQuery
vue组件中节流函数的失效的原因和解决方法
2020/12/02 Vue.js
[36:33]2018DOTA2亚洲邀请赛 4.3 突围赛 EG vs Newbee 第二场
2018/04/04 DOTA
Python 内置函数complex详解
2016/10/23 Python
Python实现的朴素贝叶斯分类器示例
2018/01/06 Python
在python中利用KNN实现对iris进行分类的方法
2018/12/11 Python
Django之无名分组和有名分组的实现
2019/04/16 Python
解决在pycharm运行代码,调用CMD窗口的命令运行显示乱码问题
2019/08/23 Python
python单例模式原理与创建方法实例分析
2019/10/26 Python
使用Python实现正态分布、正态分布采样
2019/11/20 Python
Python函数基本使用原理详解
2020/03/19 Python
PyCharm设置Ipython交互环境和宏快捷键进行数据分析图文详解
2020/04/23 Python
Python使用urlretrieve实现直接远程下载图片的示例代码
2020/08/17 Python
Ticketmaster德国票务网站:购买音乐会和体育等门票
2016/11/14 全球购物
NBA欧洲商店(英国):NBA Europe Store UK
2018/07/27 全球购物
营业员演讲稿
2013/12/30 职场文书
五年级科学教学反思
2014/02/05 职场文书
技校学生个人职业生涯规划范文
2014/03/03 职场文书
暑期培训班策划方案
2014/08/26 职场文书
学习十八大宣传标语
2014/10/09 职场文书
优秀教师申报材料
2014/12/16 职场文书
大学校园招聘会感想
2015/08/10 职场文书
Python Pytorch查询图像的特征从集合或数据库中查找图像
2022/04/09 Python