手欠给一个网站主站上了 service worker ,现在整个前端项目要换成别人的,换不过去了,访问该网站一直访问到我的项目。
我想的解决方案是: 把他们的内容放到子域名里,然后更新我的前端页面,用户访问主站时,前端重定向到那个子域名。
不知道有什么 不用改子域名,直接我这边处理一下,就能使用户访问主站时直接访问到他们的项目 的办法吗?
啊!我为什么要手欠给上 service worker 啊!!!
1
oott123 2022-01-27 13:59:55 +08:00
给你的 service worker url 返回个 404 啊。再带一个 Clear-Site-Data: "storage" 大概就好了
|
2
xiaoming1992 OP @oott123 老哥,能直接改 service-worker.js 的内容吗?因为那个网站现在是外包人员在管理,我不知道你这个方法是在 nginx 还是在哪儿配置,可能跟他们沟通起来会比较麻烦。
我参考这个方法 https://stackoverflow.com/a/55088582 但是刷新之后仍旧访问的旧内容。 |
3
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 等一系列本地存储)。 |
4
xiaoming1992 OP @oott123 感谢感谢!沟通有误,虚惊一场。不过我按照谷歌相关文档来删除相应的缓存,可是刷新页面后仍然访问这些缓存,可能是我删除的手打不对,晚些研究一下。
|
5
xiaoming1992 OP @oott123 我试下清空 service-worker.js 试下
|