加载大量图像

时间:2011-11-18 00:32:29

标签: javascript jquery performance preloader

我正在开发一个允许用户查看和配置产品的网站。 我想使用jquery,css3和html5来启动这个项目,对于旧浏览器来说会有优雅的降级。

我将几个精灵中的所有最小图像组合在一起以减少http请求的数量(图像将从无Cookie子域提供)。 顺便说一下,对于每种配置组合,产品必须在360°内可见。 这样可以产生2252张图像(总共15mb)。

对于bandwitdh来说,这不是一个大问题,因为我们有2台专用服务器,但我只想到改善用户体验的最佳方法。

实际上我只为默认产品视图预加载图像,然后当用户更改设置时,我加载了所需的图像(jQuery有帮助)。当图像加载时,用户将看到“加载”gif。我还应该在没有请求图像的情况下预装图像吗?

图像将由浏览器缓存,因此每个图像都是304 Not Modified响应。 您有什么建议或建议来改善用户体验吗?

谢谢。

2 个答案:

答案 0 :(得分:2)

如果你每个产品有2252张图像并且你预装了一张,那么开始预装其他产品似乎有点徒劳。据推测,观众改变了他的选择,你需要2252个图像中的另一个。您预先加载该图片的可能性非常小。

如果有各种"属性"比其他人更常见,你可能想要预先加载少数几个?例如,(我不知道你的产品是什么),如果你有一件红色衬衫和粉红色格子XXXL衬衫,你可能想先加载红色衬衫;)

我在这种情况下做的一件事就是在jQuery(淡入淡出,幻灯片等)中使用动画效果。您可以在属性更改时淡出。这个动画大概需要600毫秒,这将是从服务器获取该图像所需时间的很大一部分。结果是新视图/属性的等待时间较短。

答案 1 :(得分:1)

从像亚马逊s3这样的CDN提供图像可能会稍微改善加载时间。至于预加载步骤 - 这可能取决于产品。有些事情更有可能被轮换 - 例如一辆汽车超过兰顿所说的。我个人不会打扰转动T恤,但可能是一辆车。因此,决定可能基于您网站的预期用途。