更改图像的src属性是否会阻止图像下载?
假设我有两个手风琴选项卡。 第一个加载数百个图像,并在页面加载时打开。
如果用户点击第二个手风琴选项卡,我希望能够停止下载图像。 通过js更改图像的src属性是否会停止下载图像? 或者请求是否继续直到完成并且不显示在页面上?
我有一个脚本,可以在3秒钟内载入SO标志,我已经提出了另一个问题。
http://alexturpin.net/slowimage/slowimage.php
使用它,我试图重现这个问题:
var img = new Image();
img.onload = function() {
alert("loaded");
};
img.src ="http://alexturpin.net/slowimage/slowimage.php";
setTimeout(function() {
img.src = "";
}, 1000);
http://jsfiddle.net/Xeon06/RrUvd/1/
从我收集的内容来看,Chrome浏览器中的onload
并未被解雇,但浏览器一直在显示一个微调,如果我在网络标签上找到我的图片并查看它的内容,它就在那里。 所以我的答案是否定的 ,至少在Chrome中加载图像。
这是一个有趣的问题,我建议你尽可能在尽可能多的浏览器上测试它,并在其上写一些博客文章。
您的浏览器使用特定的HTTP GET请求来请求该图像,如HTTP协议中所述。 一旦请求它,http服务器就开始传输。
所以,它位于浏览器(作为http客户端)和http服务器之间。
由于http协议没有考虑中止传输的选项,因此浏览器应该实现一个不符合标准的机制来以编程方式中止连接。 但是,由于这没有在任何标准中指定,我认为你不会找到任何方式来使用JavaScript或任何客户端代码做到这一点。
您可以尝试window.stop()来停止所有请求,但不是单个请求。
如果您想停止对大图像的单个请求,则可以将图像加载到隐藏的IFRAME中的文档中。 IFRAME的onload事件可以用来将图像加载到主文档中,到那时它应该被缓存(假设你已经配置了缓存指令)。
如果图片过长,则可以访问IFRAME的contentWindow并发出停止命令。
您需要拥有与可以同时请求的图像一样多的IFRAME元素。
直接从这里&这里。
不知道是否会像其他评论一样。 但我可以建议我的方法能够很好地工作。 假设不是所有的图像都可见,只需在可见时设置正确的src属性即可。
因此,当它不可见时,请将默认网址设置为myGray.gif,并将其设置为myImage.jpg。
当您关闭当前手风琴时,您可以将图像源再次设置为轻量级gif。 (这可以防止在某些版本的ipad上与gc相关的bug)。
链接地址: http://www.djcxy.com/p/54741.html上一篇: Does changing the src attribute of an image stop the image from downloading?
下一篇: Sent text to notes