2012-11-15 108 views
1

除了XMLHttpRequest.responseText.length以外,還有什麼辦法可以獲得AJAX請求的當前下載進度嗎?在IE中獲取AJAX下載進度

我問這是因爲IE只是放棄了「數據尚未提供」的錯誤。其他瀏覽器沒有問題,但我希望能夠至少提供一些進度指示。

回答

0

對於Internet Explorer,progress事件的支持is limited to version 10,但您沒有指定y一個版本...

rq.onprogress = function(e) { 
    if(e.lengthComputable) { 
     progressElement.textContent = Math.floor(e.loaded/e.total * 100) + "%"; 
    } 
}; 
0

你應該定義IE等瀏覽器

if (window.XMLHttpRequest) 
{ 
    req = new XMLHttpRequest(); 
    req.setRequestHeader('Content-Type', 'application/x-www-formurlencoded'); 
    req.send(data); 
} // branch for IE/Windows ActiveX version 

else if (window.ActiveXObject) 
{ 
req = new ActiveXObject('Microsoft.XMLHTTP'); 
. 
. 
. 
} 

單獨的對象,你知道有一個以上的XMLHTTP

xmlhttp1.0,2.0,...

,或者你可以make try-catch塊

+1

爲什麼?這對我有什麼好處?此外,這隻會在過去6年的所有版本的IE中創建一個「XMLHttpRequest」對象... –

+0

ActiveXObject('Microsoft.XMLHTTP')是一個專門用於IE的對象 –

+1

Erm ... that not true自2006年以來,你去過哪裏?可能是 –