您的位置:首页 > Web前端 > JavaScript

js 判断服务器文件是否存在问题

2013-06-19 10:21 549 查看
昨天做项目,在网上搜索js判读文件是否存在问题,有许多答案几乎都是一样的:

var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.open("GET",yourFileURL,false);
xmlhttp.send();
if(xmlhttp.readyState==4){
if(xmlhttp.status==200)s+=" 存在."; //url存在
else if(xmlhttp.status==404)s+=" 不存在."; //url不存在
else s+="";//其他状态
}
alert(s);


实际上,运行一下文件就会知道,当js执行到new ActiveXObject("Microsoft.XMLHTTP")是,在某些浏览器上就会停止执行下一步。

在我们使用的浏览器有IE内核和非IE内核,这可能就是原因。

翻阅以前的Ajax,发现Ajax也创建了一个xmlhttp对象,那么这里就可以判断一下浏览器的类型问题就解决了。

function isExistFile(filepath)

{

var xmlhttp;

if (window.XMLHttpRequest){

xmlhttp=new XMLHttpRequest();

}else{

xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");

}

xmlhttp.open("GET",filepath,false);

xmlhttp.send();

if(xmlhttp.readyState==4){

if(xmlhttp.status==200) return true; //url存在

else if(xmlhttp.status==404) return false; //url不存在

else return false;//其他状态

}

}

这样就OK了

本人不才,写的不是很完善,如有意见,请提出
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: