2008-12-30 122 views
25

我想獲取我的AJAX請求的進度 - 到目前爲止已經下載了多少文件。例如,我正在使用AJAX下載大圖片,這樣我就可以將內容放入DATA網址中(這可能不是最好的方法,這僅僅是一個例子。)AJAX頁面下載進度

因此,我提出了AJAX請求對某些主機,我無法控制(flickr),並將進度報告給用戶。如果沒有服務器端腳本或類似的東西,我找不到一種方法。最好解決方案將使用JQuery,因爲這是我用於我的網站。 謝謝! Isaac

+0

*不是*顯示圖片下載進度的最佳方式,所以這將有助於知道你**實際**想要做什麼.... – 2008-12-30 13:54:35

+1

This [stackoverflow線程] [1]討論了同樣的問題。 [1]:http://stackoverflow.com/questions/76976/how-to-get-progress-from-xmlhttprequest – 2010-07-29 08:04:57

回答

13

據我所知,$ .ajax()函數不支持「字節加載」。它只有開始和完整的事件,沒有進度事件。

我發現this thread詳細描述了一個嘗試,但顯然這個代碼在幾個瀏覽器中工作,但不是IE。他們提出的建議是在其他瀏覽器中顯示進度,併爲IE提供簡單的「加載...」消息。

請注意,在同一個網站上有幾個類似的討論,所以瀏覽左側面板的其他方法。

2

一些瀏覽器爲下載狀態事件提供支持,您可以跟蹤您的進度(我知道ff 3.5+)。

這是由ajax XHR完成的。

你可以閱讀更多herehere

也有可能分裂出一個文件中的數組(比方說,我們在10個分吧),

現在發送1peace,並返回更迭後,進度= 10%等...