网页包含少量图像,5-10 个,平均大小。
有时,图像加载会随机失败并且不显示。
假设每加载 100 个图像就有 1 个失败。
这可能是因为服务器繁忙或出现临时网络问题(任何原因)而发生的。
我确信获取图像的请求是有效的,因此如果我重试加载图像,我有很好的机会获得它。
我有代码来检测图像何时无法加载并触发回调。
但是,我如何告诉浏览器“重试加载该图像” ?
我可以从 DOM 中删除图像然后再将其放回去吗?
如果我在 URL 上附加一个随机查询字符串,图像肯定会重新加载,但我更愿意avoid这是因为图像不会被正确缓存。
我正在使用 jQuery,因此 jQuery 解决方案作为纯 JavaScript 对我来说很好。
您所能做的就是尝试将图像加载到新的Image
目的。如果加载图像,它也会更新所有其他位置(类似于嵌入同一张图像 50 次,一旦加载一次,它们就会全部显示)。因此,在您的回调中(我认为这是一个错误回调),只需尝试:
var img = new Image();
img.src = this.src; // this should refer to the original failed image
这将触发新图像对象中相同 URL 的加载。如果它有效,两者都会更新,而我们刚刚创建的那个根本不会在任何地方显示。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)