【问题标题】:How to cancel download when the <img/> tag disppears?<img/> 标签消失时如何取消下载?
【发布时间】:2020-12-10 01:38:19
【问题描述】:

我有一个简单的标签&lt;img url="myurl.com/123"/&gt;。现在,我使用 react 每秒用随机 URL 生成它们,并且它总是替换最后一个。我注意到连接速度较慢时,图像将开始加载,但即使我替换当前标签也不会停止。相反,他们将下载图片并且不对其进行任何操作。我想要发生的是,当带有此图像的标签消失时,图像停止加载,而是下一个开始。有什么好的方法吗?我知道有 load="lazy" 属性,但这只会阻止加载不在屏幕上的图像,实际上不会取消它。

【问题讨论】:

  • 你的代码是什么?
  • 在内存中创建图像,然后附加到 HTML。 css-tricks.com/pre-caching-image-with-react-suspense
  • 我不相信您可以控制一旦开始检索图像资源的过程。但这感觉就像您正在尝试解决真正的问题:如果加载图像的时间比在屏幕上显示的时间长,那么您需要大幅减小图像尺寸,或者显示图像的时间更长。取消以前的图片并不能解决问题,充其量只能阻止它随着时间的推移而变得更糟。

标签: html reactjs


【解决方案1】:

显然,我们可以执行以下操作,而不是 &lt;img&gt;

&lt;div style={{ backgroundImage: "url(www.image.com)"}}/&gt;,然后当 div 卸载时请求将被取消。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-05
    • 2014-11-08
    • 1970-01-01
    • 2013-02-27
    • 1970-01-01
    • 2021-11-19
    • 2018-08-01
    • 2012-07-09
    相关资源
    最近更新 更多