Internet Explorer 预加载(500+ 张图片)
Internet Explorer preloading (500+ Images)
我正在开发一个与此类似的网站: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 的图像。
我不知道为什么会这样,也许有人可以更深入地描述这种行为。
- 如何从三张图片中选择一张?其余的必须是看不见的
- 通过onclick事件将一张图片更改为6张图片
- 我用JavaScript FIleReader读了一张图片,但是我无法得到图片的信息
- 为多张图片添加上传前的图片预览
- HTML5画布如何在另一张图片上绘制一张图片
- 完整的背景图片幻灯片jquery,想让幻灯片的最后一张图片可以点击
- 如何在Jquery Mobile中将两张图片居中对齐
- 如何在多张图片上显示fontwo敬畏的图标
- 无法使用formData数组一次上载5张图片
- 如何使用jquery或javascript为两张图片制作动画
- 如何知道最后一张图片何时到达灯箱2
- 为什么我的 Jquery 轮播不会停留在最后一张图片上
- 下载多张图片,而无需在Chrome扩展程序中询问
- 连续设置 4 张图片而不是 2 张图片
- jQuery幻灯片,转到上一张图片
- Jquery:上传多张图片时,发布请求中断
- 使用 NodeJS 下载数百万张图片
- 检查 2 张图片是否相同
- 为什么我的js函数只找到第一张图片
- Internet Explorer 预加载(500+ 张图片)