HTML脱机应用程序缓存,列出下载的文件

作为我正在构建的启用脱机的Web应用程序的加载屏幕的一部分(使用缓存清单),我想显示一个准确的进度条,让用户知道到目前为止已下载哪些文件以及哪些文件仍处于待处理状态。类似于以下内容: 载入中... /assets/images/logo.png:已加载 /assets/images/splashImage.png:待定 我知道我可以使用缓存“pending”事件,但我没有看到事件参数有任何与之关联的数据。 有没有办法做到这一点?     
已邀请:
每个文件下载时会触发一个
progress
事件,但其有效负载在我测试过的任何浏览器中都不包含文件名(Chrome,Safari,FF beta)。 Chrome在控制台中显示文件名(虽然据我所知它是JS无法访问的),但Safari和FF都没有那么远。从我所看到的情况来看,这些文件的下载顺序与它们在清单中列出的顺序不同,因此甚至没有办法生成有序列表,然后逐个删除它们。 所以在回答你的问题时,不,现在没有办法做到这一点。将来
progress
事件可能包含文件名 - 至少在某些浏览器中 - 但现在这是不可能的。 我应该在Chrome中添加(不在Safari或FF中),您至少可以获得要下载的文件数量,这样您至少可以计算出准确的进度条。要在Chrome中使用此功能,您需要使用以下内容:
function downloadProgress(e) {
    totalfiles = Number(e.total);
}
window.applicationCache.addEventListener("progress", downloadProgress, false);
但是这会在其他浏览器中出错,所以你需要用一个
try/catch
或其他方法(
typeof(e.total)
)来避免错误。     
这是晚了几年,但也许它会帮助那些研究这个的人。 它不会列出文件或任何内容,但会根据加载的文件总数显示准确的(ish)进度条。它可能仍然需要一点工作...... https://github.com/joelabeyta/app-cache-percent-bar     

要回复问题请先登录注册