1

所以我有一个使用ApplicationCache 存储离线数据的应用程序。长话短说,对于没有启用离线数据的用户来说,它正在悄然消亡,最常见的是因为他们关闭了历史记录或正在使用隐私浏览,我想抓住这一点并给用户一个明确的错误。

看来这可以通过检查缓存的状态来检测,当没有缓存时它将返回 0 UNCACHED......但我不确定这是否意味着还没有缓存或者没有保证缓存(并且因为应该有,有问题)。官方定义用处不大:

UNCACHED (numeric value 0)
The ApplicationCache object's cache host is not associated with an application
cache at this time.

但实际上,cache.status==0至少在 Firefox 上中止似乎可以正常工作。我做得对吗,还是有更好的方法?如果有人可以挖掘状态图,则加分。

更新:不,如果用户以前从未访问过该页面,它也会返回 0/UNCACHED。嘎!

4

1 回答 1

2

在 上收听error事件applicationCache。当它触发时,其中applicationCache.status===applicationCache.UNCACHED一个原因是缓存被禁用。给用户的消息可能暗示缓存已关闭。

于 2012-11-10T02:57:19.323 回答