简单的代码,
[code="java"]
try
{
document.open('c:/test.html','_blank','toolbar=0,location=0,direct=0,menubar=0');
}
catch(err)
{
alert("not found file!");
}
[/code]
如果test.html文件不存在的话,会先有一个IE的错误对话框,说“无法找到file:///c:/test.html,请确保路径或许Internet地址正确”,点确定后才弹出自定义的对话框。
请问当文件不存在时,如何不显示第一个IE错误而直接显示第二个提示?
ps:不会发图,寒。。。。
先使用Ajax请求那个页面。然后获取请求的状态码。如:
[code="js"]
//判断是否存在页面。url为请求路径,
//succAction为存在时执行的操作,
//failAction为失败时执行的操作。
function isExists(url,succAction,failAction){
...
xmlHttp.open("GET",url,true);
xmlHttp.onreadystatechange=function(){
if(xmlHttp.readyState==4){//readyState为4则是接收到响应
if(xmlHttp.status==404){
eval(failAction);
}else if(xmlHttp.status==200){
eval(succAction);
}else{
alert("出现未知错误");
}
xmlHttp.close();
}
}
xmlHttp.send(null);
...
}
...
var url="c:/test.html";
isExists(
url,
"window.open("+url+",'_blank','toolbar=0,location=0,direct=0,menubar=0');",
alert("页面不存在!");
);
...
[/code]
我的思路就是上面这样的过程。
也许还有其它的办法来实现。不过本人暂还没有想到。 :oops:
上面的最后那句alert();应该是这样:[code="js"]"alert('页面不存在!')"[/code]