0

有时,可能是连接缓慢时,浏览器无法获取服务器中已经存在的图像。
我尝试复制浏览器无法获取的图像 src url 并在新选项卡中打开图像可以正确加载,就像您在图片中看到的那样。Chrome 可以加载图像并将其显示在控制台中。

我想知道为什么会发生这种情况以及如何解决这个问题。

我尝试通过添加一些参数来重新加载图像以防止使用此代码进行缓存

images[instance].onerror = function(){
        repeatPreload(this, 5);
}
function repeatPreload(Image, timeout){
    if(timeout > 0){
        setTimeout(function(){
            Image.src = Image.src.replace(/\?d=*[0-9]{6,}/g,"") + "?d=" + new Date().getTime();
            console.log("Fail to load image : " + Image.src + " , timeout : " + timeout);
            Image.onerror = repeatPreload(Image, timeout - 1);
        },2000);
    }else{
        Image["error"] = 1;
    }
}

我已经尝试复制图像文件夹并在发生错误时从重复文件夹中获取图像但总是失败。

4

0 回答 0