javascript下有关dom以及xml节点访问兼容问题_Javascript教程-查字典教程网
javascript下有关dom以及xml节点访问兼容问题
javascript下有关dom以及xml节点访问兼容问题
发布时间:2016-12-30 来源:查字典编辑
摘要:最近整理浏览器兼容的问题,搞的实在头大,在前人的帮助之下,还是有点进展,下面帖一些代码,我想会比较有用复制代码代码如下:varisIE=??...

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

复制代码 代码如下:

varisIE=????;

//全局变量,判断是否ie,自完善

//newdom方法

functionparseXML(st){

if(isIE){

varresult=newActiveXObject("microsoft.XMLDOM");

result.loadXML(st);

}else{

varparser=newDOMParser();

varresult=parser.parseFromString(st,"text/xml");

}

returnresult;

}

if(!isIE){

varex;

//定义节点xml属性

XMLDocument.prototype.__proto__.__defineGetter__("xml",function(){

try{

returnnewXMLSerializer().serializeToString(this);

}catch(ex){

vard=document.createElement("div");

d.appendChild(this.cloneNode(true));

returnd.innerHTML;

}

});

Element.prototype.__proto__.__defineGetter__("xml",function(){

try{

returnnewXMLSerializer().serializeToString(this);

}catch(ex){

vard=document.createElement("div");

d.appendChild(this.cloneNode(true));

returnd.innerHTML;

}

});

//定义节点text属性

XMLDocument.prototype.__proto__.__defineGetter__("text",function(){

returnthis.firstChild.textContent

});

Element.prototype.__proto__.__defineGetter__("text",function(){

returnthis.textContent

});

//定义selectSingleNode、selectNodes方法

XMLDocument.prototype.selectSingleNode=Element.prototype.selectSingleNode=function(xpath){

varx=this.selectNodes(xpath)

if(!x||x.length<1)returnnull;

returnx[0];

}

XMLDocument.prototype.selectNodes=Element.prototype.selectNodes=function(xpath){

varxpe=newXPathEvaluator();

varnsResolver=xpe.createNSResolver(this.ownerDocument==null?

this.documentElement:this.ownerDocument.documentElement);

varresult=xpe.evaluate(xpath,this,nsResolver,0,null);

varfound=[];

varres;

while(res=result.iterateNext())

found.push(res);

returnfound;

}

}

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新Javascript教程学习
    热门Javascript教程学习
    编程开发子分类