关于chrome,firefox中img.width=0,img.height=0的解决方法

来源:互联网 发布:大数据开发工程师待遇 编辑:程序博客网 时间:2024/05/22 09:47

今天修改网站的上传头像时,谷歌浏览器中放大缩小图片,图像消失的bug。

调试时发现动态处理图片时有问题:

var img = new Image();  img.src = $("#xxx").attr("src");var _width = img.width;var _height = img.height;img = null;

_width=0,_height=0

上网搜了下,发现是图片未加载完造成的。


解决方法:

function loadImage(url, callback) {    var img = new Image(); //创建一个Image对象,实现图片的预下载    img.src = url;       if (img.complete) { // 如果图片已经存在于浏览器缓存,直接调用回调函数        callback.call(img);        return; // 直接返回,不用再处理onload事件    }    img.onload = function () { //图片下载完毕时异步调用callback函数。        callback.call(img);//将回调函数的this替换为Image对象    }}


原创粉丝点击