IE中Image .onload方法問題

  1. IE中Image .onload方法問題 在web開發在獲取圖片寬高是很正常的事情,圖片在加載完成前是獲取不到圖片的寬高的,在加載完成後才能夠獲取圖片自己的寬高,例如:web

    var img = new Image();緩存

    img.src = "loading.gif";服務器

    img.onload = function(){code

    alert ( img.width );

    };事件

OK?這段代碼看着沒什麼問題,但在ie中會有一個bug,就是ie第一次打開的時候沒問題,第二次使用這個方法就悲劇了,ie沒反應了,即便刷新頁面也是同樣。由於IE會緩存圖片,第2次加載的圖片,不是從服務器上傳過來的,而是從緩衝區里加載的。 先寫onload方法,再指定這張圖片的URL,這樣就正常了。因此,不是IE沒有觸發onload事件,而是由於加載緩衝區的速度太快,以致於沒有運行到img.onload的時候,onload事件已經觸發了。這樣就OK了。圖片

var img = new Image();
img.onload = function(){
    alert ( img.width );
};
img.src = "loading.gif";
相關文章
相關標籤/搜索