1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 怎样使用Javascript操作XMLDOM才能兼容IE FireFox浏览器呢?

怎样使用Javascript操作XMLDOM才能兼容IE FireFox浏览器呢?

时间:2021-03-25 12:44:48

相关推荐

怎样使用Javascript操作XMLDOM才能兼容IE FireFox浏览器呢?

最近作了一个项目用到了AJAX技术,总算是赶了一回时髦不至于让自己太落伍。项目虽然已经完成,不过过程确并不十分顺利。遇到最大的问题就是如何兼容Firefox浏览器使Javascript能正确操作XMLDOM,经过若干次失败,总算把遇到的问题一一解决。这里总结了几个常用的Javascript方法:

1. 创建XMLDOM对象

vardomDoc=false;

domDoc=document.implementation.createDocument("text/xml","",null);

2. 加载XML DOCUMENT

XMLDocument.prototype.LoadXML=function(xmlString)

{

varchildNodes=this.childNodes;

for(vari=childNodes.length-1;i>=0;i--)

this.removeChild(childNodes[i]);

vardp=newDOMParser();

varnewDOM=dp.parseFromString(xmlString,"text/xml");

varnewElt=this.importNode(newDOM.documentElement,true);

this.appendChild(newElt);

}

3. 选择匹配XPath表达式的节点集合

Element.prototype.selectNodes=function(cXPathString)

{

if(this.ownerDocument.selectNodes)

{

returnthis.ownerDocument.selectNodes(cXPathString,this);

}

else

{

throw"ForXMLElementsOnly";

}

}

XMLDocument.prototype.SelectNodes=function(cXPathString,xNode)

{

if(!xNode)

{xNode=this;}

varoNSResolver=this.createNSResolver(this.documentElement)

varaItems=this.evaluate(cXPathString,xNode,oNSResolver,

XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null)

varaResult=[];

for(vari=0;i<aItems.snapshotLength;i++)

{

aResult[i]=aItems.snapshotItem(i);

}

returnaResult;

}

4. 获得节点的值

functionGetNodeValue(objXmlElement)

{

varstr="";

if(window.XMLHttpRequest)//Mozilla

{

try

{

str=obj.firstChild.nodeValue;

}

catch(ex)

{

str="";

}

}

elseif(window.ActiveXObject)//IE

{

str=obj.text;

}

returnstr;

}

由于水平有限,这里仅列举了几个常用的函数,争取以后能不断完善。如果您有不同意见,请指正!在下不胜感激~~~

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。