救命!网站被 service worker 缓存了,现在要更换换不了了

2022-01-27 12:24:48 +08:00
 xiaoming1992

手欠给一个网站主站上了 service worker ,现在整个前端项目要换成别人的,换不过去了,访问该网站一直访问到我的项目。

我想的解决方案是: 把他们的内容放到子域名里,然后更新我的前端页面,用户访问主站时,前端重定向到那个子域名。

不知道有什么 不用改子域名,直接我这边处理一下,就能使用户访问主站时直接访问到他们的项目 的办法吗?

啊!我为什么要手欠给上 service worker 啊!!!

1117 次点击
所在节点    问与答
5 条回复
oott123
2022-01-27 13:59:55 +08:00
给你的 service worker url 返回个 404 啊。再带一个 Clear-Site-Data: "storage" 大概就好了
xiaoming1992
2022-01-27 14:48:18 +08:00
@oott123 老哥,能直接改 service-worker.js 的内容吗?因为那个网站现在是外包人员在管理,我不知道你这个方法是在 nginx 还是在哪儿配置,可能跟他们沟通起来会比较麻烦。

我参考这个方法 https://stackoverflow.com/a/55088582

但是刷新之后仍旧访问的旧内容。
oott123
2022-01-27 15:07:27 +08:00
查了下文档,不应该返回 404 的。如果只返回 404 ,会使得老 sw 正常工作。

应当把你的 sw.js 清空(或者改成你提到的那个链接内容),返回 200 。这应当在 24~48 小时内生效。

如果可以的话,在 header 中新增一个 Clear-Site-Data: "storage" 会让浏览器主动清空你的 service worker 缓存(和 localStroage 等一系列本地存储)。
xiaoming1992
2022-01-27 18:41:35 +08:00
@oott123 感谢感谢!沟通有误,虚惊一场。不过我按照谷歌相关文档来删除相应的缓存,可是刷新页面后仍然访问这些缓存,可能是我删除的手打不对,晚些研究一下。
xiaoming1992
2022-01-27 18:42:44 +08:00
@oott123 我试下清空 service-worker.js 试下

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/830889

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX