图像失败需要多长时间?

nat*_*ing 5 javascript

我从互联网上加载图像:

img.src = 'some_path'
Run Code Online (Sandbox Code Playgroud)

我注意到如果网络速度慢,有些图像需要很长时间才能加载,有些图像需要很长时间才能加载然后失败.

有时候,域名一起倒下了.如果服务器关闭,这很好用,因为错误将很快抛出,我可以捕获错误并相应地更改src.

但是,对于慢速然后失败的页面 - 我看到浏览器显示某种空白框,看起来像10秒或更长时间,最后出错.

这似乎太长了.我会说给网站大约4秒钟然后如果它没有响应则抛出错误.

反正有调整吗?

客户端在抛出错误之前等待的时间量?

让这种空白的blox盯着用户10秒或更长时间看起来很邋..

目前在FireFox中.

Log*_*phy 2

交叉/向后兼容

function loadImage(src, complete, timeout) {
    var img = document.createElement("img");
    img.src = src;
    setTimeout(function() {
        complete(img.complete && img.naturalWidth !== 0 ? img : false);
    }, timeout || 5000);
}

loadImage("path/to/image.png", function(img) {
    if(img) {
        //TODO ON SUCCESS
    } else {
        //TODO ON FAILURE
    }
}, 4000);
Run Code Online (Sandbox Code Playgroud)