当前位置: 首页 > 知识库问答 >
问题:

当旧站点不再可访问时,如何清除浏览器缓存的service worker?

罗寒
2023-03-14

我已经为一个客户建立了一个新网站,并接管了管理他们的域名和使用一个新的主机。以前的网站和主机已经完全关闭。

我遇到了一个重大问题,我不知道如何解决。以前的开发人员使用服务人员缓存和加载以前的站点。问题是,以前访问过该站点的用户会一直看到旧站点,因为它都是从缓存加载的。这个旧站点已经不存在了,所以我无法添加任何javascript来从浏览器中删除服务人员,除非他们访问新站点。

有没有人曾经遇到过这个问题,并且知道解决它的方法?请注意,要求用户从浏览器中删除服务人员将不起作用。

共有2个答案

陈浩
2023-03-14

也许使用Clear-site-data头将是最彻底的解决方案。

董建德
2023-03-14

您可以使用缓存破坏来实现结果。根据Keycdn

缓存破坏通过使用唯一的文件版本标识符来告诉浏览器文件的新版本可用,从而解决了浏览器缓存问题。因此,浏览器不会从缓存中检索旧文件,而是向原始服务器请求新文件。

如果您想更新服务工作者本身,您应该知道,对于服务工作者,如果发生以下任何情况,将触发更新:

  • 到范围内页面的导航。
  • 一个功能事件,如推送和同步,除非在过去的24小时内进行了更新检查。
  • 仅当服务辅助角色URL已更改时才调用。但是,您应该避免更改辅助角色URL。

更新服务工作者

 类似资料:
  • 问题内容: 如何使用php清除浏览器缓存? 问题答案:

  • 问题内容: 有什么办法可以在页面上放置一些代码,以便当有人访问网站时,它会清除浏览器缓存,以便他们可以查看更改? 使用的语言:ASP.NET,VB.NET,当然还有HTML,CSS和jQuery。 问题答案: 如果这是关于和变化,一种方法是到“缓存无效”是通过附加像“ ”为每个版本的文件名。例如: 或者,在文件名之后执行此操作:

  • 问题内容: 我有一个运行在云服务器中的php站点。每当我添加新文件css,js或图像时,浏览器就会加载存储在缓存中的相同的旧js,css和图像文件。 我的网站具有doctype和meta标签,如下所示 由于上述doctype和元代码,我加载了浏览器中缓存的相同文件,而不是新文件 问题答案: 尝试这个

  • 问题内容: 这些天,我的应用程序一直在变化,因为我们的团队现在正在运行快速更新。 由于缓存,我们的客户并不总是拥有最新版本的代码。 那么有没有办法强制浏览器清除缓存? 问题答案: 您可以使用一种非常简单的解决方案,其中包括将哈希值附加到脚本文件中。每次部署App时,您都会通过gulp /grunt任务自动为文件提供不同的哈希值。例如,您可以使用gulp-rev。我在所有项目中都使用了这种技术,并且

  • 问题内容: 我正在使用WebDriver运行Selenium测试。我将以某种循环重复测试,因此现在我想在JAVA中开始新测试之前清除缓存。 在这个while循环中,我要做的第一件事是清除CACHE(即MOZILLA和CHROME) 知道我该如何实现吗? 谢谢 问题答案: 当前,无法通过Web驱动程序API清除缓存。但是,如果每次都可以启动浏览器的新实例,则应在FF和Chrome中清除缓存,因为每次

  • 本文向大家介绍js清除浏览器缓存的几种方法,包括了js清除浏览器缓存的几种方法的使用技巧和注意事项,需要的朋友参考一下 关于浏览器缓存 浏览器缓存,有时候我们需要他,因为他可以提高网站性能和浏览器速度,提高网站性能。但是有时候我们又不得不清除缓存,因为缓存可能误事,出现一些错误的数据。像股票类网站实时更新等,这样的网站是不要缓存的,像有的网站很少更新,有缓存还是比较好的。今天主要介绍清除缓存的几种