IE浏览器下图片加载onload事件失效解决方案
分类:实例代码
当图片加载完毕可以触发onload事件,这对于火狐或者谷歌浏览器来说没有任何问题,但是对于IE浏览器可能会有一些困扰,因为有时候并不能够触发事件,下面简单介绍一下产生这种问题的原因和解决此问题的方法。
代码实例:
var img=new Image(); img.src="antzone.gif"; img.onload=function(){ //code }
上面的代码中,当图片加载完毕就会触发onload事件,执行事件处理函数。
在IE里面第一次加载页面没有任何问题,但是再刷新页面的时候,就不会触发此事件了,这是因为这个时候IE浏览器是从缓存中读取的图片,而不是从服务器重新加载,需要强调一下这个现象只出现在IE8和IE8以下浏览器会出现此问题,下面介绍一下如何解决此问题,代码修改如下:
var img=new Image(); img.onload=function(){ //code }; img.src="antzone.gif";
上面的代码,只要调整一下时间处理函数和图片加载路径的先后顺序就可以了。
其实并非onload事件没有触发,而是由于直接从缓存直接读取图片速度很快,导致没有注册完事件处理函数的时候,图片已经加载完毕,事件即便触发也不会有任何反应。
一线大厂高级前端编写,前端初中阶面试题,帮助初学者应聘,需要联系微信:javadudu