js判断多个图片(Array)的url是否有效
// 12 判断一张图片url是否有效 var img_arr = ['1.jpg', '3.jpg', '5.jpg', '9.jpg', '31.jpg', '49.jpg', '80.jpg', '09.jpg', '37.jpg', ]; //默认图片(失败显示图) let idx = 0; // 该方法是判断图片是否存在 function is_img_url(imgurl) { return new Promise(function (resolve, reject) { var ImgObj = new Image(); // 生成一个Image对象 ImgObj.src = imgurl; ImgObj.onload = function (res) { if (this.complete == true) { resolve(imgurl); // 图片显示正常 就直接返回 } } ImgObj.onerror = function (err) { resolve('./img/icon_location.jpg') // 图片异常 就返回另一张图片 } }) }; // 这里是使用递归的方式来判断每一张图片是否正常 function isErrorImgHandler() { let cover_img = [], str = ''; let loopImgList = function (url, idx) { is_img_url(url).then((res) => { cover_img[idx] = res if (idx == img_arr.length - 1) { cover_img.forEach(v => { str += `<img src="${v}"/>` }); $('body').html(str) return } else { idx++; loopImgList(img_arr[idx], idx) } }) } loopImgList(img_arr[idx], idx) } isErrorImgHandler()