Javascript window.stop()停止当前加载图像,但加载新图像

Javascript window.stop()停止当前加载图像,但加载新图像,javascript,Javascript,我有一个脚本,它基于某些事件(用户交互、setTimeout)加载一个JSON,并根据JSON的结果加载一组图像。我还根据用户与页面的交互预加载了一些图像。有时候,在页面打开一段时间后,从JSON加载的图像开始“减速”,需要更多的时间加载(如果我刷新页面,它们加载正常)。因此,我开始寻找一种方法来中止当前加载的图像,并遇到了“window.stop()”。我读了说明书中MDN amd的描述,不明白这是否是我想要的 : stop()方法完全等同于在中单击“停止”按钮 浏览器。由于脚本的加载顺序 s

我有一个脚本,它基于某些事件(用户交互、setTimeout)加载一个JSON,并根据JSON的结果加载一组图像。我还根据用户与页面的交互预加载了一些图像。有时候,在页面打开一段时间后,从JSON加载的图像开始“减速”,需要更多的时间加载(如果我刷新页面,它们加载正常)。因此,我开始寻找一种方法来中止当前加载的图像,并遇到了“window.stop()”。我读了说明书中MDN amd的描述,不明白这是否是我想要的

:

stop()方法完全等同于在中单击“停止”按钮 浏览器。由于脚本的加载顺序 stop()方法无法停止包含它的文档 正在加载,但它将停止加载大型图像、新窗口、, 以及其他延迟加载的对象

:

如果存在一个现有的 尝试浏览浏览上下文,但该尝试未成功 当前正在运行卸载文档算法,请取消该操作 航行然后,它必须中止浏览的活动文档 调用它的窗口对象的上下文

而且

…在此上下文中取消提取算法的任何实例 文档,放弃为其排队的任何任务,并放弃任何 从网络上为他们接收的更多数据

这是否意味着在使用window.stop()后,我无法加载更多图像?我做了一些测试,在Firefox、Chrome和Safari上,这似乎是可行的(在window.stop之后加载图像),但这似乎与规范相矛盾

window.stop();
document.getElementById(“c”).innerHTML=“”
您需要执行以下操作

return window.stop();
因为包含
window.stop()的脚本已加载,因此它将结束

如果在此之后还有另一个脚本,它将被停止,请参见以下示例:


window.stop();

document.getElementById(“c”).innerHTML=“”这是同步调用。在您的代码中,
window.stop()
运行,然后加载新映像。规格也不错

document.getElementById("c").innerHTML = "<img src='//test.com/THIS_WILL_STOP_LOADING.png'/>";
window.stop();
document.getElementById("d").innerHTML = "<img src='//test.com/THIS_WILL_LOAD.png'/>";
document.getElementById(“c”).innerHTML=“”;
window.stop();
document.getElementById(“d”).innerHTML=“”;

我们谈论的是多少个图像以及文件的大小?一次大约80个图像(JSON),加上最多10个的预加载(在用户交互中,也与JSON信息相关)。每个5~8Kb。使用10个子域(同一服务器、同一文件夹,从映像位置生成子域“名称”,以便缓存)来加快速度。刷新后(甚至前几次)第一次加载时没有问题,但在加载图像之前,会暂时暂停一段时间