首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何帮助那些已将index.html作为服务工作者的一部分进行缓存的“老客户\现有客户”,而不要求他们手动刷新

如何帮助那些已将index.html作为服务工作者的一部分进行缓存的“老客户\现有客户”,而不要求他们手动刷新
EN

Stack Overflow用户
提问于 2020-10-23 06:07:18
回答 1查看 25关注 0票数 0

我修复了我的SPA站点的服务工作者配置,现在它不再缓存index.html文件。问题是,我可以如何处理已经将旧index.html文件作为服务工作者缓存的一部分的匿名旧\现有访问者?

我不能告诉他们清除缓存或手动刷新,因为我不知道他们。他们不时地打电话到我的办公室,我向他们解释该怎么做,但我相信很多访客不会打电话给我,因为这个问题而不能使用我的新版本。

再说一次,自从我对service worker配置进行了修复后,访问我的站点的访问者就没有问题了。我对那些在修复之前使用我的旧index.html的访问者有问题。

我使用的是NGINX和ReactJS。

EN

回答 1

Stack Overflow用户

发布于 2020-10-23 07:09:05

您需要针对缓存的资产添加某种类型的检查,以查看它们是否需要更新。

根据应用程序的不同,我使用不同的技术。

一种方法是发出HEAD请求,并将上次更新时间与缓存值进行比较。如果它在缓存后在服务器上进行了更新,我会替换它。

我还可以将某种生存时间值添加到与缓存的资产或数据相对应的IndexedDB。当该时间到期时,我会触发更新。

对于这一点,没有一个答案是万能的。缓存失效可能是一个复杂的主题,您需要尝试不同的技术,并在应用程序的用例中使用对数据或资产有效的方法,等等。

还要考虑如何处理离线和身份验证等问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64491182

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档