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";