Ell*_*ang 6 javascript try-catch
我试图使用 javascript 测试某些文件是否存在。(不想使用 Ajax)。想要使用catch尝试处理ERR_FILE_NOT_FOUND错误。我试过
   try{
            img.attr('src', url)
        }catch(err){
            console.log("file"+ url + " doesn't exist");
        }
但它没有捕获错误。如何捕获 ERR_FILE_NOT_FOUND 错误?
设置图像属性 src 不会根据文件是否存在的结果抛出任何内容,它只会简单地显示图像或不显示图像。
您也许可以在加载完成后检查图像的大小并查看其宽度是否为 0,但这仍然只是一个 hack,可能只适用于图像。
你最好的选择是 jQuery 与 ajax 并使用一个简单的:
$.get("/path/to/file", function(data, status) {  
   console.log("File request status: "+status); 
});
编辑:
您可能想检查评论中的 onerror 事件,您可以使用如下 html:
<img onerror="onerrFunction()">
或者
js:imgObject.onerror = function(){}
您提到的错误“ERR_FILE_NOT_FOUND”我假设您是从开发者控制台中的浏览器(例如 chrome)中找到的,如下所示:

但是,这不是抛出的 javascript 错误,因此您无法使用 js 代码捕获它。这只是一个浏览器错误,可帮助调试您的代码。可能还有其他方法来捕获此类错误,但至于您所要求的内容,这可能不在问题的范围内。
| 归档时间: | 
 | 
| 查看次数: | 10471 次 | 
| 最近记录: |