0

我有一个流量很大的社交社区。在站点布局的右栏中,我们有一个“在线列表”,它打印出一张 40x40 像素的朋友、您所在地区的人等的缩略图,总共 30-40 张图像。

就在右列加载之前,它在加载所有这些图像时挂起。我需要一个兼容 IE6 的更快的解决方案。

是否可以在页面加载后通过 ajax 加载图像,使用某种内联 gfx(IE6 支持)或其他方法?

4

5 回答 5

1

通过 AJAX 加载图像将起作用。例如,您可以使用 jQuery 轻松完成。为要显示的每个图像定义一个 div。当页面最初显示时,也许您可​​以显示“正在加载..”图像或类似的东西来代替实际图像。

jQuery 有很多选择。有一个懒加载插件,可以预加载图片,在图片显示的时候可以很方便的添加效果。

于 2009-03-30T09:20:57.020 回答
0

使此页面区域在后台异步加载。

于 2009-03-30T09:00:16.650 回答
0

是的,您可以延迟加载图像,尽管您可能希望在<noscript>标签中包含常规 HTML 版本,以便更简单的用户代理/蜘蛛可以看到您的页面。

另一种技术是从多个子域加载图像,因为浏览器通常只打开到每个域的少量连接。例如,如果您的站点位于 foo.com,请从 a.foo.com、b.foo.com 和 c.foo.com 加载静态图像

于 2009-03-30T09:13:22.453 回答
0

我也会考虑不显示 30-40 动态图片,因为服务器和客户端都不能有效地缓存这些图片。

于 2009-03-30T09:17:55.000 回答
0

如果您的问题与在运行时调整这些图像服务器端的大小有关,您可能希望在调整一次大小后存储缩略图,然后在以下加载时仅提供缩略图。

对于大多数脚本来说,40 个小图像应该没问题。调整大小的 40 张全尺寸图像可能会带来很多负载。

伪代码:

  1. 用户请求图像
  2. 检查该图像的缩略图是否存在
  3. 如果没有,请创建一个缩略图并提供它
  4. 如果是,提供缩略图

您可以让服务器缓存这些图像,方法是使用 apache rewrite 将某些 .jpg|.png|etc 请求路由到您的调整大小脚本。其他服务器无疑具有类似的功能。

于 2009-03-30T09:22:30.590 回答