IE中圖片的onload事件無效問題和解決方法
在web開發(fā)在獲取圖片寬高是很正常的事情,圖片在加載完成前是獲取不到圖片的寬高的,在加載完成后才可以獲取圖片本身的寬高,例如:
var img = new Image();
img.src = "loading.gif";
img.onload = function(){
alert ( img.width );
};
OK?這段代碼看著沒什么問題,但在ie中會(huì)有一個(gè)bug,就是ie第一次打開的時(shí)候沒問題,第二次使用這個(gè)方法就悲劇了,ie沒反應(yīng)了,即使刷新頁面也是一樣。因?yàn)镮E會(huì)緩存圖片,第2次加載的圖片,不是從服務(wù)器上傳過來的,而是從緩沖區(qū)里加載的。
先寫onload方法,再指定這張圖片的URL,這樣就正常了。所以,不是IE沒有觸發(fā)onload事件,而是因?yàn)榧虞d緩沖區(qū)的速度太快,以至于沒有運(yùn)行到img.onload的時(shí)候,onload事件已經(jīng)觸發(fā)了。這樣就OK了。
var img = new Image();
img.onload = function(){
alert ( img.width );
};
img.src = "loading.gif";
相關(guān)文章
Bootstrap3 多個(gè)模態(tài)對話框無法顯示的解決方案
這篇文章主要介紹了Bootstrap3 多個(gè)模態(tài)對話框無法顯示的解決方案,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-02-02Enter轉(zhuǎn)換為Tab的小例子(兼容IE,Firefox)
這篇文章介紹了Enter轉(zhuǎn)換為Tab的小例子(兼容IE,Firefox),有需要的朋友可以參考一下2013-11-11