我有一个请求调用一堆图像,如下所示:
<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>
Run Code Online (Sandbox Code Playgroud)
问题是当进行调用时,一些图像(~20%)还没有准备好.他们需要另一秒钟.
所以在js或jquery中我想做的是在出错时获取失败的图像,等待1秒,然后再尝试加载那些失败的图像.如果他们在第二次尝试失败 - 哦,我很好.但我没有正确地这样做...我不应该在js中的另一个方法中调用超时吗?
function imgError(image) {
image.onerror = "";
image.src = image;
setTimeout(function () {
return true;
}, 1000);
}
Run Code Online (Sandbox Code Playgroud)
Pau*_*per 11
添加缓存断路器.
function imgError(image) {
image.onerror = null;
setTimeout(function (){
image.src += '?' + +new Date;
}, 1000);
}
Run Code Online (Sandbox Code Playgroud)
(根据示例,这假设您的图像URL还没有查询字符串.如果是这样,显然需要更多的工作.)