温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2020-05-13 11:45:43 来源:网络 阅读:771 作者:杏sunshine 栏目:web开发
有时候在获取从后台的图片时,要对图片进行一系列的处理,才渲染出来
我们要解决的是没有缓存而又快速的相比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';
        //在里面在做一些我们想处理的逻辑
};
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI