Javascript 图片加载 Facebook 风格

标签 javascript facebook image load

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

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

这工作得很好,但让我思考这是否确实会提高性能,或者像 Facebook 这样的网站会采取不同的做法吗?

预先感谢您的帮助。

问候詹斯

编辑:或者他们只是以不同的方式显示图像?有与平常不同的渲染过程吗? 因为我没有看到任何小图像正在加载?

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

最佳答案

我认为缓存(页内)低分辨率图像并获取更好的图像是实现此目标的真正方法。

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

顺便说一句,您可以将base64直接放入src中,而不是使用canvas

<img src="data:image/png;base64,...

关于Javascript 图片加载 Facebook 风格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7579952/

相关文章:

java - Java 中的 Facebook 用户身份验证

.net - Excel 互操作移动/设置图像位置

javascript - 连接 2 个 svg 元素

javascript - 从 Javascript onclick() 函数中抓取有关爬行和信息的建议

javascript - 发布到墙 facebook api 在本地工作但不是实时的

html - 大图片使网页变慢

html - 布局 anchor 、图像和 div 的正确方法

javascript - 我收到 'Uncaught Reference Error: moment is not defined' 错误。我怎样才能解决这个问题?

javascript - 为什么 `forEach.call` 不迭代每个节点并删除类?

android - Facebook 应用程序 - 如何不将请求链接到 native 应用程序