【问题标题】:Clear a PWA's cache periodically using javascript使用 javascript 定期清除 PWA 的缓存
【发布时间】:2020-01-31 15:13:10
【问题描述】:

我需要我的应用程序的所有用户(台式机和平板电脑用户)每天从一个空缓存开始。 有什么办法可以利用服务人员来实现这一目标? 有没有人尝试过这样做?或者您是否认为有更好的方法可以在安装了我的 PWA 的所有设备上运行计划任务。

谢谢

【问题讨论】:

  • 你有ngsw-config.json吗?
  • 在此处查看maxAge 参数。
  • 不,我有一个简单的 sw 文件
  • 那么您需要使用服务器标头进行操作。 Cache-Control: max-age=xxx
  • 但是缓存配置是否适用于 localStorage、sessionStorage 和 IndexedDb 中的所有内容?

标签: javascript progressive-web-apps browser-cache angular-pwa


【解决方案1】:

Service Worker 缓存超越了浏览器缓存,老实说,您应该更多地关注它而不是浏览器缓存。 没有办法通过服务工作者或 UI 脚本清除浏览器缓存。你无法控制它。

即使设置 Cache-Control 标头也可能无关紧要。浏览器可以在他们认为必要的时候更加激进。路由器、负载均衡器等调用也会阻碍。

如果您使用的是 Service Worker 缓存,您可以以任何方式使其无效。我已经制作了一些非常成熟的服务人员,尤其是最近几个月来使 SW 缓存和 indexedDB 中的缓存资产失效。

它比我在这里分享的要复杂得多,哈哈。您可以采用多种策略,这完全取决于您的目标以及您的网络可寻址资产的角色:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-25
    • 1970-01-01
    • 1970-01-01
    • 2013-06-23
    • 2017-04-25
    • 2015-05-06
    • 1970-01-01
    • 2020-01-24
    相关资源
    最近更新 更多