我有一个拥有大量流量的社交社区。在网站布局的右栏中,我们得到了一个“在线列表”,可以打印出40x40像素的朋友缩略图,您所在地区的人等等。总共30-40张图片。
在加载右列之前,它会在加载所有这些图像时挂起。我需要一个兼容IE6的更快的解决方案。
是否可以在页面加载后通过ajax加载图像,使用某种内联gfx(IE6支持)或其他方法?
答案 0 :(得分:1)
通过AJAX加载图像将起作用。例如,您可以使用jQuery轻松完成。为要显示的每个图像定义一个div。当最初显示页面时,也许您可以显示“正在加载...”图像或类似的图像来代替实际图像。
jQuery有很多选项。有一个lazy loading插件,您可以preload images,并且可以在显示图片时轻松添加效果。
答案 1 :(得分:0)
使此页面区域在后台异步加载。
答案 2 :(得分:0)
是的,您可以推迟加载图片,但您可能希望在<noscript>
标记中包含常规HTML版本,以便更简单的用户代理/蜘蛛可以看到您的网页。
另一种技术是从多个子域加载图像,因为浏览器通常只打开与每个域的少量连接。例如,如果您的站点位于foo.com上,请从a.foo.com,b.foo.com和c.foo.com加载静态图像
答案 3 :(得分:0)
我还会考虑不显示30-40张动态图片,因为服务器和客户端都无法有效地缓存这些图片。
答案 4 :(得分:0)
如果您的问题与在运行时调整服务器端图像大小有关, 您可能希望在调整大小一次后存储缩略图,然后 仅在以下负载上提供缩略图。
对于大多数脚本来说,40张小图片应该没问题。获得40张全尺寸图片 调整大小可能会带来很多负担。
伪代码:
您可以让服务器通过使用apache重写来缓存这些图像,以将某些.jpg | .png | etc请求路由到您的大小调整脚本。其他服务器无疑具有类似的功能。