Dee*_*jha 3 javascript dom reactjs service-worker gatsby
我有一个使用gatsbyJS的网站(静态网站的反应框架)
现在,我已将该站点移至CMS(WordPress),但是由于我们最初在同一域上使用了gatsbyJS,因此它显示了gatsby构建的旧缓存文件。
我们无法在最初打开gatsby网站的浏览器上访问新网站,因为该网站仅显示了缓存的文件。
通过最初的搜索,我发现了以下几点:
service workers。我无法返回初始站点,因为该站点已经发布,人们正在关注它,但是仍有许多其他人仍在查看破碎的盖茨比站点。
以上问题有解决方案吗?
您可以尝试将脚本添加到新站点,以删除所有服务工作者,如果有的话:
<script>
if ('serviceWorker' in navigator) {
navigator.serviceWorker.getRegistrations().then(function(registrations) {
for (let registration of registrations) {
registration.unregister();
}
});
}
</script>
Run Code Online (Sandbox Code Playgroud)
如果这还不够,请查看self-destroying-sw:
删除有关先前ServiceWorker的所有信息(注册/卸载代码,ServiceWorker文件)
创建一个与先前ServiceWorker相同名称的文件,并将其放在先前ServiceWorker所在的位置
将以下代码放入文件中:
Run Code Online (Sandbox Code Playgroud)self.addEventListener('install', function(e) { self.skipWaiting(); }); self.addEventListener('activate', function(e) { self.registration.unregister() .then(function() { return self.clients.matchAll(); }) .then(function(clients) { clients.forEach(client => client.navigate(client.url)) }); });部署您的项目!
| 归档时间: |
|
| 查看次数: |
3069 次 |
| 最近记录: |