2010-09-14 82 views
1

在一个网页中,我有一个大图像加载和其他内容。有时图像需要较长的时间才能加载,我想跟踪它。当浏览器完全呈现图像时,是否有任何方法可以使用Javascript进行通知?HTML图像渲染通知

编辑

我使用下面的代码加载图像。

<table border="0" style="background-image: url(http://abc.com/abc.jpg);" id="imageDisp"> 
</table> 

一些UPDATE
有没有什么简单的方法来知道图像花了多长时间来呈现?使用JavaScript我收到一个图像现在加载的通知,有没有办法知道图像加载何时开始?这样可以计算经过的时间?

回答

4

您可以在<img>元素的load事件上挂钩。例如。

<img src="http://upload.wikimedia.org/wikipedia/commons/3/31/Atlantic_hurricane_tracks.jpg" 
    onload="alert('finished!');"> 

Jsfiddle demo


更新

然后创建new Image()代替(平均浏览器是足够聪明,不要求相同的图像两次,多次引用将指向相同的图像请求):

<script> 
    var img = new Image(); 
    img.src = 'http://upload.wikimedia.org/wikipedia/commons/3/31/Atlantic_hurricane_tracks.jpg'; 
    img.onload = function() { 
     alert('finished!'); 
    } 
</script> 

Another jsfiddle demo(不要忘记清除浏览器缓存,相同的图像可能已经缓存:))。

+1

唯一的问题是我使用CSS加载图像作为表的背景图像。 – Shamik 2010-09-14 20:06:29

+0

如何在表格标签内使用“var image”? – Shamik 2010-09-14 20:15:58

+0

这是JavaScript。把它放在'