所以我有一个使用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。嘎!