為什麼js有時候無法獲取圖片的寬度和高度

antzone發表於2017-04-06

在實際應用中可能又不少朋友遇到這樣的狀況,那就是無法獲取圖片的高度。

當然出現這種狀況的原因多種多樣,下面就介紹一下比較常見的一種。

先看一段程式碼例項:

[JavaScript] 純文字檢視 複製程式碼
var img = new Image();
img.src = imgsrc;
var imgWH = img.heigh;

上面的程式碼無法正確獲取尺寸,得出的結果是0,這是因為圖片還沒有載入完成就執行了獲取尺寸的程式碼。

所以我們需要在onload事件觸發以後再去執行,程式碼修改如下:

[JavaScript] 純文字檢視 複製程式碼
var img = new Image;
img.src = "softwhy.gif";
img.onload = function(){
  var imgWH = img.width
};

上面的程式碼看上去是非常的完美,的確算是比較晚上,但是在低版本的IE瀏覽器下,只有第一次訪問可以獲取尺寸,但是重新整理網頁的時候就不能夠正確獲取尺寸,具體原因這裡就不多介紹了,可以參閱IE瀏覽器下圖片載入onload事件失效解決方案一章節。

相關文章