检查浏览器是否禁用了脱机应用程序缓存

时间:2012-11-08 01:59:59

标签: html5 firefox offline browser-history application-cache

所以我有一个使用ApplicationCache存储离线数据的应用程序。简而言之,对于没有启用离线数据的用户,它会默默地死亡,最常见的原因是他们已关闭历史记录或正在使用隐私浏览,我想抓住这个并给用户一个明确的错误。

出现这可以通过检查缓存的状态来检测,当没有缓存时它将返回0 UNCACHED但是我不确定这是否意味着没有缓存尚未,或者没有缓存保证(因为应该有,有些东西是错误的)。 official definition不太有用:

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。碣!

1 个答案:

答案 0 :(得分:1)

error上收听applicationCache事件。如果激活applicationCache.status===applicationCache.UNCACHED,则许多中的一个原因是禁用了缓存。向用户发送的消息可能建议关闭缓存。