有一個progress
事件會在每個文件下載時觸發,但其有效負載不包含我測試過的任何瀏覽器(Chrome,Safari,FF測試版)中的文件名。 Chrome會在控制檯中顯示文件名(儘管據我所知它不能被JS訪問),但Safari和FF甚至都沒有。從我所看到的文件不會按照它們在清單中列出的順序下載,所以甚至沒有辦法生成有序列表,然後一次一個地敲掉它們。
那麼,現在回答你的問題,沒有,沒有任何辦法現在就這樣做的權利。有可能在將來progress
事件將包含文件名 - 至少在某些瀏覽器中 - 但現在這是不可能的。
我要補充的是,在瀏覽器(不是在Safari或FF),你至少可以得到文件的數量要下載,讓您至少計算準確的進度條。要在Chrome得到這個你應該使用下列內容:
function downloadProgress(e) {
totalfiles = Number(e.total);
}
window.applicationCache.addEventListener("progress", downloadProgress, false);
然而,這將在其他瀏覽器報錯了,所以你需要用一個try/catch
或其他方法(typeof(e.total)
),以避免錯誤。
這符合我一直在讀什麼。我會保持我的手指交叉,這使得未來的規範 – 2011-02-25 19:10:38
我希望如此,但我不會賭它。從我瞭解他們在HTML5走下路,他們想離開它的瀏覽器做一個進度條,並顯示文件等,並有一種爲不同的網站,你可以手動刪除文件瀏覽器。 – Myforwik 2012-11-03 07:59:33
對我來說,Chrome還提供了一個非常方便的'e.loaded'。請注意,您將事件與JQuery綁定爲'$(appCache).bind(「progress」,function(event){});'。加載的和總數都會丟失。 – jpprade 2015-04-30 22:16:38