2

我有一个链接到清单文件的页面。清单文件中有许多 url。通常需要几分钟才能加载所有内容。

如何检查我的页面是否已完成缓存,以便告诉用户“您的文件已缓存。现在可以安全下线了”?

4

1 回答 1

0

全局触发几个事件,applicationCache您可以检查以处理此问题。有几种情况需要考虑。

用户的浏览器一次下载清单时(或者他们在删除 appcache 记录后第一次重新访问该站点时),一旦所有资源下载完毕,applicationCache就会触发一个事件。cached

如果用户之前访问过该站点,并且浏览器确定清单自上次访问以来没有更改,applicationCache则将触发一个noupdate事件,指示用户已准备好离线。

另一方面,如果清单文件已更改,则它将重新下载清单中的所有文件。一旦完成,它将触发一个updateready事件。然而:

新版本尚未使用。要在不强制用户重新加载页面的情况下“热交换”到新版本,您可以手动调用 window.applicationCache.swapCache() 函数。

在这种情况下,一旦updateready事件被触发并(可选地)application.swapCache()被调用,用户就可以离线了。

资源

于 2015-07-29T17:45:50.077 回答