JS判断图片是否加载完成

来源:互联网 发布:qt之网络编程 通讯不了 编辑:程序博客网 时间:2024/05/01 02:58

引用链接:http://www.css88.com/archives/3584

之前在网上找的,有一个我以为比较好用,它是利用放在img下面的js标签来实现检测(虽然不知道是为什么)

是长这个样子

```

document.getElementById("pic-img").onload=function(){}

```

结果这句话并不能保证一直能执行,连续刷新页面的时候,onload就不会执行了。


不知道为什么先在这里Mark一下


然后在引用链接里面找到了新的方法


在web开发在获取图片宽高是很正常的事情,图片在加载完成前是获取不到图片的宽高的,在加载完成后才可以获取图片本身的宽高,例如:
[code=”javascript”]
var img = new Image();
img.src = “loading.gif”;
img.onload = function(){
alert ( img.width );
};
[/code]

OK?这段代码看着没什么问题,但在ie中会有一个bug,就是ie第一次打开的时候没问题,第二次使用这个方法就悲剧了,ie没反应了,即使刷新页面也是一样。因为IE会缓存图片,第2次加载的图片,不是从服务器上传过来的,而是从缓冲区里加载的。
先写onload方法,再指定这张图片的URL,这样就正常了。所以,不是IE没有触发onload事件,而是因为加载缓冲区的速度太快,以至于没有运行到img.onload的时候,onload事件已经触发了。这样就OK了。

[code=”javascript”]
var img = new Image();
img.onload = function(){
alert ( img.width );
};
img.src = “loading.gif”;
[/code]

至此,Mark完毕


似乎是在CSDN上第一篇博文,希望是一个好的开始


0 0
原创粉丝点击