网页特效 加载xml文档的函数
查了javascript权威指南,又看了网上一些写法,然后整理出一个原则上是全兼容的加载xml函数.经过本人测试的有:ie6/7/8,ff(geckos),chrome(webkit),opera,没装safira,但她和chrome一样的核,应该没问题.
function loadxml(filename){
//@mrthink.net
var xmldoc = null;
if (window.activexobject) {//写给ie系
xmldoc = new activexobject("microsoft.xmldom");
xmldoc.async = false;//这句别漏掉,否则ie系会报完成该操作所需的数据还不可用
//xmldoc.loadxml(filename);//这个是用来加载xml字符串的
xmldoc.load(filename);//如果用的是xml文件。
}
else
if (document.implementation && document.implementation.createdocument) {//webkit,geckos,op内核的
var xmlhttp = new window.xmlhttprequest();
xmlhttp.open("get", filename, false);//类型,文件名,是否缓存
xmlhttp.send(null);
xmldoc = xmlhttp.responsexml;
}
else {
xmldoc = null;
}
return xmldoc;
}
面的函数使用很简单,比如把获取到的xml文档赋值给var xmldom=loadxml(‘i.xml’);然后你就可以像操作普通dom一样操作xml文档内容了
jquery文章
//可以指定参数的方法@mrthink.net
$.ajax({
//这个是万能的,不单单可以读xml
url:'i.xml', //xml文档路径
type:'get', //请求方式
datatype:'xml',//文档类型
timeout:1000,//超时时长
cache:false,//是否缓存
error:function(){alert('oh,oh,error!haha!');},//这个是抛出加载失败的信息,比js的智能吧
success:function(xml){
alert('yeah! success!');//在这里执行对xml文档内容的操作
}
});
//更简洁的方法
$.get('i.xml',function(xml){
alert('yeah! success!');//在这里执行对xml文档内容的操作
});