服务工作者可以在没有打开选项卡的情况下更新缓存吗

时间:2017-12-07 07:19:43

标签: javascript browser-cache service-worker

我想在访问我的网站时给用户一个速度感。如果我在服务工作者中缓存初始页面,那么我可以实现它。但我有以下疑虑。

  • 有没有办法更新该缓存,即使用户的网站没有任何标签?

  • 是否有内存限制?

1 个答案:

答案 0 :(得分:1)

1)不是一个简单的方法 - 您的服务工作者被暂停,直到某些东西被唤醒,例如用户打开您的应用程序。或推送消息。因此,您可以在推送消息处理程序中运行缓存更新流程,并在发生更新时将推送发送给所有订阅用户。但是你必须要知道,应用程序可以接收多少次推送和/或处理程序可以运行多长时间存在限制。

"通常"这是在安装新的Service Worker版本并且需要重新加载(或手动处理)才能生效时完成的。

2)是,适用一般存储限制。它是特定于操作系统的,您可以使用Quota Estimation API查询估算值(目前仅限Chrome)。