从DOM中删除尚未完全加载的图像:传输中止了吗?

时间:2015-10-12 20:42:16

标签: javascript jquery image http

将图像(未缓存)添加到DOM中;例如(使用jQuery):

$('#hereItGoes').append('<img id="theImage" src="image.jpg" />');

浏览器开始下载资源,需要一些时间......

在图像完全加载之前某种事件会触发删除图像的回调。

$('#theImage').remove();

图像资源传输是否中止?

更具体地说,是否会阻止服务器发送(图像)数据?

为问题提供一些“背景”:

长滚动页面通常设计为延迟加载图像:仅当图像进入视口时才加载;当每个人都准备好后,它就会淡入并显示给用户。

现在如果用户快速向下滚动页面会怎么样?

可能会出现许多图像进入视口(并开始下载)但在准备就绪之前退出的情况。

保持加载会浪费带宽(和服务器资源)。

1 个答案:

答案 0 :(得分:0)

不,这是不可能的。这是因为一旦您请求资源,客户端代码就会异步请求它,这样就不会阻止其他DOM加载。

在更复杂的服务器端请求中,可以发送另一个客户端消息以阻止服务器不断处理响应的数据,但是如果这是发回图像,那么就没有了试图阻止它。

这不会损害客户端DOM的性能,因为您只是忽略了服务器响应。