哎 现在就是成天的 被各种见所未见的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获取不到图片高度的解决办法