今天有个想找一个快速用JavaScript获取远程图片宽度和高度的方法,很多网上的都是使用img.onload方法,一旦遇到大图片速度就非常慢。网上发现一个定时检测图片宽高的方法,效率非常高。具体代码如下:
// 记录当前时间戳
var start_time = new Date().getTime();
// 图片地址
var img_url = 'http://www.baidu.com/img/bdlogo.png?'+start_time;
// 创建对象
var img = new Image();
// 改变图片的src
img.src = img_url;
// 定时执行获取宽高
var check = function(){
// 只要任何一方大于0
// 表示已经服务器已经返回宽高
if(img.width>0 || img.height>0){
var diff = new Date().getTime() - start_time;
document.body.innerHTML += '
from:check : width:'+img.width+',height:'+img.height+', time:'+diff+'ms
';
clearInterval(set);
}
};
var set = setInterval(check,40);