對於IE驗證圖像,我用這個代碼圖像驗證returing -1 IE
var pic = document.getElementById('photo').value;
$('#image').attr('src',pic);
var imgbytes = document.getElementById('image').fileSize;
但imgbytes將返回-1所有time.Why會出現這種情況?
對於IE驗證圖像,我用這個代碼圖像驗證returing -1 IE
var pic = document.getElementById('photo').value;
$('#image').attr('src',pic);
var imgbytes = document.getElementById('image').fileSize;
但imgbytes將返回-1所有time.Why會出現這種情況?
很可能是因爲在查詢文件大小時圖像還沒有足夠的時間加載。您可以通過切換到具有類似回調的異步模型來驗證並解決此問題:
var img = document.getElementById('image');
img.onload = function() {
var imgbytes = img.fileSize;
alert(imgbytes);
};
img.src = document.getElementById('photo').value;
@ jon.謝謝。我試過這個,但img.onload沒有被調用,並沒有得到alert.ie alert(imgbytes);不管用。 –
@NidhinzzOwn:[適用於我](http://jsfiddle.net/HpxDm/)。 – Jon
這可能是競爭條件。請確保在評估imgbytes時已經加載圖像 – ynh
@ynh。謝謝。但我已經使用while(!document.getElementById('image')。fileSize) { } var imgbytes = document.getElementById('image')。fileSize; ,以確保圖像已經加載。但仍然不工作。是否有任何其他方式來確保圖像加載。 –