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

