预加载图片和JavaScript Image() 对象

2011-08-25 14:50:47 by 【6yang】, 166 visits, 收藏 | 返回

参考代码:

程序代码 程序代码
var img=new Image();
img.onload=function(){alert("img is loaded")};
img.onerror=function(){alert("error!")};
img.src="http://i2.cdn.turner.com/cnn/video/tech/2009/02/07/levs.ship.treasure.cnn.88x49.jpg";
function show(){alert("body is loaded");};
window.onload=show;



       运行上面的代码后,在不同的浏览器中进行测试,发现IE和FF是有区别的在FF中,img对象的加载包含在body的加载过程中,既是img加载完之 后,body才算是加载完毕,触发window.onload事件。
     在IE中,img对象的加载是不包含在body的加载过程之中的,body加载完毕,window.onload事件触发时,img对象可能还未加载结 束,img.onload事件会在window.onload之后触发。

     根据上面的问题,考虑到浏览器的兼容性和网页的加载时间,尽量不要在Image对象里放置过多的图片,否则在FF下会影响网页的下载速度。当然如果你在 window.onload之后,执行预加载函数,就不会FF中的问题了。

分享到:
share

    图片原图

    loading

    loading