日期:2011/03/15 09:55:50来源: 绿色资源网整理
由于javascript无法获取img文件头数据,必须等待其加载完毕后才能获取真实的大小,所以lightbox类效果为了让图片居中显示,导致其速度体验要比直接输出的差很多。而本文所提到的预加载技术主要是让javascript快速获取图片头部数据的尺寸。
一段典型的使用预加载获取图片大小的例子:
var imgLoad = function (url, callback) { |
可以看到使用onload的方式必须等待图片加载完毕,其速度不敢恭维。
web应用程序区别于桌面应用程序,响应速度才是最好的用户体验。如果想要速度与优雅兼得,那就必须提前获得图片尺寸,如何在图片没有加载完毕就能获取图片尺寸?
十多年的上网经验告诉我:浏览器在加载图片的时候你会看到图片会先占用一块地然后才慢慢加载完毕,并且这里大部分的图片都是没有预设width与height属性的,因为浏览器能够获取图片的头部数据。基于此,只需要使用javascript定时侦测图片的尺寸状态便可得知图片尺寸就绪的状态。
实现代码:
|
是不是很简单?这样的方式获取摄影级别照片尺寸的速度往往是onload方式的几十多倍,而对于web普通(800×600内)浏览级别的图片能达到秒杀效果。
相关文章
相关下载
javascript案例教程电子版 电子图书3.90Mv1.0
详情javascript.dll文件 DLL文件154KBv1.0
详情javascriptcore64.dll文件 DLL文件821KBv1.0
详情javascript高级程序设计第3版pdf 电子图书42.01Mv1.0
详情WebStorm(JavaScript开发工具) 编程工具156.28Mv1.0
详情JavaScript和VBScript调试工具 编程工具634KBv1.0
详情网友评论