Internet Explorer 预加载(500+ 张图片)

Internet Explorer preloading (500+ Images)

本文关键字:500+ 张图片 加载 Explorer Internet      更新时间:2023-09-26

我正在开发一个与此类似的网站:http://www.nike.com/jumpman23/aj2012/我正在预加载大量图像。浏览器在预加载时不应被锁定,因此我使用 setTimeout 函数一次只加载一张图像。在FF/Chrome/Safari e.t.c中一切正常,但IE遇到了问题。

有时它加载

大约 400 张图像然后进入错误功能,有时它只是预加载前 6 张图像 - 这似乎是完全随机的。很难解释这个问题,所以我把代码的重要部分放在这里:http://sidneywidmer.ch/preloader/(让舒尔先打开你的主机)

您可以忽略一些内容,例如 loadOrder 变量:)

我还尝试为 IE 设置不同的间隔时间,或者在出错时暂停下载一秒钟,但似乎没有任何效果......

有人知道我该如何解决这个问题吗?

更新:经过一些调查,我可以肯定地说,不知何故存在内存泄漏或其他问题。在IE中,内存使用率从1.4 GB上升到3 GB以上,然后停止加载图像...

尝试使用延迟图像加载。看看这个插件来jQuery http://www.appelsiini.net/projects/lazyload

好的,我终于可以自己解决问题了......问题是Internet Explorer(可能还有其他浏览器)在DOM中预加载图像时消耗大量RAM。实际大小(例如 10kb)并不重要。最重要的是图像的分辨率。因此,虽然我可以轻松预加载 1000 张分辨率为 400 x 200 和大小为 20kb 的图像,但根本不可能预加载 1000 张分辨率为 1024 x 768 和文件大小为 10kb 的图像。

我不知道为什么会这样,也许有人可以更深入地描述这种行为。