应用程序加载前Service Worker更新

时间:2018-05-27 13:51:02

标签: javascript service-worker

是否可以使用服务工作者获取新版本的应用程序并立即显示它。 时间表:

  • 服务器上提供了新版本
  • 用户访问该网页
  • 服务工作者正在刷新服务器中的所有数据
  • 用户无需重新加载页面即可获取最新内容

我看过一条评论,可以打开警报框,真的需要吗?

2 个答案:

答案 0 :(得分:3)

您描述的模型是服务工作者始终network-first,并且默认情况下不显示任何缓存内容的模型。在这种情况下,你最终不会预先处理任何事情。

您将失去从缓存优先获得的performance gains。完全没有服务工作者的优势在于,当网络完全不可用时,您至少可以使用缓存内容,而不是浏览器显示通用的脱机错误页面。

答案 1 :(得分:0)

我发现您希望立即向用户提供最新版本,为此您应该告诉用户通过警报框提供新版本,或者允许他触发页面重新加载(按钮) )。您应该已经安装了更新的服务工作者,方法是向SW发送消息告诉他bar这样您可以确保页面重新加载将保证提供最新版本的资产。