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>