rush2012 2008-07-19 17:27
浏览 201
已采纳

如何捕获这种异常?

简单的代码,

[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:不会发图,寒。。。。

  • 写回答

2条回答 默认 最新

  • iteye_17163 2008-07-19 21:59
    关注

    先使用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:

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改