我有一个链接到清单文件的页面。清单文件中包含许多URL。通常需要几分钟才能加载所有内容。
如何检查我的网页是否已完成缓存,以便告诉用户"您的文件已缓存。现在离线是安全的"?
答案 0 :(得分:0)
applicationCache
全局会触发您可以检查以处理此事件的几个事件。有一些案例需要加以考虑。
用户浏览器下载清单的第一个时间(或者在他们删除appcache记录后第一次重新访问该网站),applicationCache
将在下载所有资源后触发cached
事件。
如果用户之前访问过该网站,并且浏览器确定自上次访问后该清单未发生更改,applicationCache
将触发noupdate
事件,表明该用户准备下线了。
另一方面,如果清单文件已更改,则它将重新下载清单中的所有文件。完成后,它将触发updateready
事件。但是:
新版本尚未使用。要在不强制用户重新加载页面的情况下“热插拔”到新版本,您可以手动调用window.applicationCache.swapCache()函数。
在这种情况下,一旦updateready
事件被触发并且(可选)application.swapCache()
被调用,用户就可以离线了。