加载Facebook风格的Javascript图像

时间:2011-09-28 07:53:14

标签: javascript facebook image load

所以我浏览了这个页面:http://360langstrasse.sf.tv/ 它基本上是一个Javascript-Street View,但只允许一个方向。因此它有点像在看电影。 当我快速移动时,我注意到图像是颗粒状/像素化的,就像浏览Facebook时一样。

我想知道如何实现这个? 我尝试在标记中发送小的base64编码图像,然后在画布上绘制它,直到加载“真实”图像。

这很好用,但让我想到这是否确实会提高性能,或者像facebook这样的网站会采用不同的方式吗?

提前感谢您的帮助。

问候Jens

编辑:或者他们只是以不同方式显示图像?还有另一个渲染过程吗? 因为我没有看到装载任何小图像?

编辑2:下面提到的首先加载小图像的选项在这里很好地描述:http://www.phpied.com/picassa-progressive-image-rendering/ 但基本上它很简单。

2 个答案:

答案 0 :(得分:0)

我认为缓存(具有页内)错误分辨率的图像并且更好地获取是实现此目的的真正方法。

另一种方式是以正常方式链接到小图像,并使用JS获取更大 - 小图像应该加载非常快,或者您可以订阅他们的加载事件(在IE中很棘手)并显示页面(删除一些覆盖)一旦加载。

BTW,您可以将base64直接放入src

,而不是使用画布
<img src="data:image/png;base64,...

答案 1 :(得分:0)

答案是渐进式JPEG! 例如,用imagemagick创建一个。这样浏览器逐渐呈现,直到中止或完成。这些图像可能比正常图像大,但并非总是如此。 此外,它们提供了在完全下载之前可以看到的能力。

感谢您的帮助!