哎 现在就是成天的 被各种见所未见的bug所缠身。
写了一个两个div相等的事件,正要提交到正式服的时候,看了一下safari的兼容。
唉卧槽啊,这一看惊的我老命差点都没有。
要实现的一个div的高度等于img的高度
img用了懒加载
safari肯定是图片还没有完全载入进来,就去获取图片的宽度了,得其宽度为0,结果就出错了
办法是不要使用”$(document.ready(function(){…})”或其简写形式”$(function(){…}),
用$(window).load(function(){});这个方法来写,当页面加载完成后在去执行就好了
$(window).load(function(){
... //此处省略N行
var w = $(this).width();
... //此处省略N行
});
再不然 就使用Image对象和其onload方法
$(function(){
... //此处省略N行
var that = $(this);
var img = new Image();
img.src = $(this).attr("src");
img.onload = function(){
var w = img.width;
}
... //此处省略N行
});
欢迎分享本文,转载请保留出处:前端ABC » 关于safari获取不到图片高度的解决办法
前端ABC