预加载大量图片

4

我正在尝试使用下面链接实现的逻辑并行预加载图像。

http://blog.lieldulev.com/2010/05/21/parallel-image-preloading-in-js/

我有大量的图片,目前有350多张,每张平均大小为50KB,总共20MB,我正在尝试预加载这些图片,以便用于画布绘制。
使用上述并行下载逻辑,我遇到了浏览器等待2分钟才能完成整个页面加载的问题。有时,它会停止脚本。
顺便说一下,20MB的图像目前是保守估计的数量。我需要预加载的某些图像集可能高达80MB!
预加载这么多的图片是否实际可行?如果需要预加载,最好的方法是什么?我应该不并行进行吗?部分预加载怎么样?
提前感谢您 Marv
1个回答

4
这是 MXHR (Multipart XHR) 请求的完美应用场景。这意味着服务器脚本正在读取您的图像文件,将它们解码为 base64 字符串,并将这些图像流式传输到浏览器。 supplyJShelp使用此技术,但目前仅适用于javascript和样式表文件。无论如何,它被设计得非常模块化,应该可以轻松扩展其功能以满足您需要的任何图像类型。
如果您不想亲自做,别担心 - 我会在接下来的几天更新脚本以实现图像加载。

我期待那个脚本的出现 :) 但现在我可能需要一个快速解决方案来解决我的问题。谢谢 - Marvzz
1
非常好的源代码。如果您有时间,能否给出几个要修改的要点,以使其适用于此案例? - mVChr
@mVChr:基本上只需要从现有代码中复制并粘贴。添加一个新的MIME类型监听器,比如说image/png,并对每个接收到的图像进行处理。请注意即将更新。 - jAndy
@jAndy "在一个请求中传递 JavaScript、样式表和图像文件..." 非常迅速和棒,谢谢! - mVChr
@jAndy 感谢您的脚本!希望 Mxhr 库也有 PHP 版本!如果这太过分了,对不起 :) 谢谢 - Marvzz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接