JS/JQuery 重试 1 秒后 img 加载

JS/JQuery Retry Img Load After 1 Second

本文关键字:秒后 img 加载 重试 JQuery JS      更新时间:2023-09-26

我有一个请求调用一堆图像,如下所示:

<a href='www.domain1.com'><img src='../image/img1.png' onerror='imgError(this);'/></a>
<a href='www.domain2.com'><img src='../image/img2.png' onerror='imgError(this);'/></a>

问题是在进行调用时,某些映像 (~20%) 尚未准备就绪。他们需要再等一秒钟。

所以在js或jquery中,我想做的是在错误时获取失败的图像,等待1秒钟,然后尝试再次加载那些失败的图像。如果他们在第二次尝试中失败了 - 哦,好吧,我没关系。但是我没有正确地做到这一点...我不应该在 js 中的另一个方法中调用超时吗?

function imgError(image) {
    image.onerror = "";
    image.src = image;
    setTimeout(function () {
        return true;
    }, 1000);
}

添加缓存断开器。

function imgError(image) {
    image.onerror = null;
    setTimeout(function (){
        image.src += '?' + +new Date;
     }, 1000);
}

(根据示例,这假定您的图像 URL 还没有查询字符串。如果是这样,显然需要更多的工作。