js 如何判断某张图片是否存在

现在需要用js 判断某张远程图片是否存在
看了下网上代码

function CheckImgExists(imgurl) {
        var ImgObj = new Image(); //判断图片是否存在  
        ImgObj.src = imgurl;
        console.log(ImgObj.fileSize);//打印出来是undefined
        //没有图片,则返回-1  
        if (ImgObj.fileSize > 0 || (ImgObj.width > 0 && ImgObj.height > 0)) {
            return true;
        } else {
            return false;
        }
}

但是自己测试 并不可行,总是返回false.求大神支招,

阅读 19.3k
3 个回答

因为图片加载是需要时间的,不能立马打印ImgObj.fileSize

function CheckImgExists(imgurl,success,err) {
    var ImgObj = new Image(); //判断图片是否存在  
    ImgObj.onload=function(){
        console.log(ImgObj.width,ImgObj.height);
        success && success(ImgObj)
    }
    ImgObj.onerror=function(){
        console.log('error');
        err && err(ImgObj)
    }
    ImgObj.src = imgurl;
}

改下函数,传入加载后的回调

onerror了解一下

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题