【发布时间】:2020-07-03 10:19:36
【问题描述】:
我有一个部署在 Firebase 托管上的 Flutter Web 应用。部署新版本时,即使进行刷新,Safari 也不会选择新版本。我认为这是由于安装了服务工作者,它将为旧内容提供服务。如何绕过这个问题?我知道硬刷新可以解决问题,但这不是一个好的解决方案,因为我们不能指望用户知道这样做。
需要客户端代码的一种替代方法是,我跟踪当前加载的应用程序的当前版本,如果该更改,我在检测到新版本可用时创建“新版本可用”屏幕,并执行来自客户端的 location.reload(true) 调用以绕过缓存并安装新的 service worker。
还有其他选择吗?
【问题讨论】:
-
我有同样的反应问题,即使没有服务工作者运行。您找到解决方案了吗?
-
你在你的flutter项目的web文件夹的索引文件中增加了版本吗?我有同样的问题,我只是增加了 web 文件夹中 index.html 中的 JS 文件的版本。
标签: flutter mobile-safari firebase-hosting flutter-web