我为客户建立了一个新网站,并接管了管理他们的域并使用新的主机。以前的网站和托管已完全删除。
我遇到了一个不确定如何解决的重大问题。以前的开发人员使用服务工作进程来缓存和加载以前的站点。问题是以前访问过该站点的用户不断看到旧站点,因为它都是从缓存加载的。这个旧站点甚至不再存在,因此我无法添加任何 javascript 来从他们的浏览器中删除服务工作者,除非他们点击新站点。
有没有人遇到过这个问题并知道解决它的方法?请注意,要求用户从浏览器中删除服务工作进程不起作用。
您可以使用缓存无效化来实现结果。根据Keycdn
缓存无效化通过使用唯一文件解决了浏览器缓存问题 版本标识符,用于告知浏览器文件的新版本 可用。因此,浏览器不会从中检索旧文件 缓存,而是向源服务器发出新的请求 文件。
如果要更新服务工作进程本身,您应该知道,对于服务工作进程,如果发生以下任何情况,则会触发更新:
- 导航到范围内页面。
- 功能事件,例如推送和同步,除非有更新 在过去 24 小时内检查。
- 仅当服务工作线程 URL 已更改时才调用 .register((。但是,应避免更改辅助角色 URL。
更新服务工作进程
也许使用clear-site-data
标头将是最彻底的解决方案。