首页 > 其他 > 详细

在onload事件前获取图片的宽高

时间:2018-07-04 20:06:29      阅读:235      评论:0      收藏:0      [点我收藏+]
有时候在获取从后台的图片时,要对图片进行一系列的处理,才渲染出来 我们要解决的是没有缓存而又快速的相比onload更快的方式去获取图片的宽高,接下来上代码 通过定时循环检测获取:
// 记录当前时间戳
var start_time = new Date().getTime()
// 图片地址 后面加时间戳是为了避免缓存
 var cutSrc = window.ctx + ‘/touchsys/terminal/showCapture?terminalId=‘ + terminalId + ‘×trap=‘ +
 Math.random();
// 创建对象
var img = new Image()
// 改变图片的src
 img.src = cutSrc;
// 定时执行获取宽高
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)
// 加载完成获取宽高
img.onload = function(){
    var diff = new Date().getTime() - start_time;
    document.body.innerHTML += ‘from:onload : width:‘+img.width+‘,height:‘+img.height+‘, time:‘+diff+‘ms‘;
        //在里面在做一些我们想处理的逻辑
};

在onload事件前获取图片的宽高

原文:http://blog.51cto.com/12885303/2136253

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!