js 判断图片已经加载完成 是一个很常见的问题,网上也有很多的解决方案。大部分的解决方案是使用 onload 方法,但由于 onload 在 ie 下面有同步方面的问题,所以下面作者将要分享的是兼容了 ie 和 火狐两大浏览器的判断图片是否加载完毕的一个小知识。
<script language="javascript">
function SImage(callback{
var img=new Image(;
this.img=img;
var appname=navigator.appName.toLowerCase(;
if(appname.indexOf("netscape"==-1{
//ie,在 ie 下面使用 onreadystatechange 事件
img.onreadystatechange=function({
if(img.readyState=="complete"{
callback(img;
}
};
}else{
//firefox
img.onload=function({
if(img.complete==true{
callback(img;
}
}
}
}
SImage.prototype.get=function(url{
this.img.src=url;
}
//使用案例
var img=new SImage(icall;
img.get("http://space.cnblogs.com/images/logo.gif";
function icall(obj{
alert(obj.width;
}
</script>