欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

用JS 判断图片已经加载完成(兼容IE 和 Firefox)

shiping1 的头像

js 判断图片已经加载完成 是一个很常见的问题,网上也有很多的解决方案。但是运行后很多都不兼容,或者
说,存在一些奇怪的问题。一种解决方案是都用onload。因为onload 在ie 下有同步方面的问题。
所以,我用了 onreadystatechange 。 代码和 使用方法如下:

 

<script>
function SImage(callback)
{
    var img = new Image();
    this.img = img;
    var appname = navigator.appName.toLowerCase();
    if (appname.indexOf("netscape") == -1)
    {
       //ie
        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>

 

这段代码可以实现 获取一个远程图片的宽度。 和高度

来自 http://www.cnblogs.com/niniwzw/archive/2009/08/27/1555281.html

普通分类: