/serviceworker.js从我的根目录中删除后,Chrome仍然运行我从我的webroot中删除的服务工作者.如何从我的网站和Chrome中卸载服务工作者,以便我可以重新登录我的网站?
我已将问题跟踪到Service Work的缓存机制,我只是想暂时删除,直到我有时间调试它.我正在使用的登录脚本会重定向到Google的服务器,以便他们登录自己的Google帐户.但是我从login.php页面得到的只是一条ERR_FAILED消息.
根据MDN上的这个文档:
之后每24小时左右下载一次.它可能会更频繁地下载,但必须每24小时下载一次,以防止坏脚本长时间烦人.
Firefox和Chrome也是如此吗?或者更新到服务工作者javascript只在用户导航到网站时发生?
我想创建一个即使服务器离线也能工作的网站——我发现这就是ServiceWorkers的用途。
当我使用 service worker 重新加载页面并且没有连接时,它工作得很好。但是,shift+reload(例如绕过缓存)会解除 service worker 的武装,并且出现“无法连接到服务器”错误。
我的问题是——我能否以某种方式防止 shift+reload(shift+f5、ctrl+f5 等)破坏 service worker,或者至少在不恢复连接的情况下使其恢复?
情况:
在 mywebsite.com/game 上,我注册了一个 service-worker
navigator.serviceWorker.register('/service-worker.js', {scope: "/"});
在我的服务器上,'/service-worker.js'maxAge 为1d.
问题:
service-worker.js有一个重大错误。它总是显示一个空页面并且无法获取任何内容。service-worker.js必须改变。
问题是每当用户转到 时mywebsite.com/game,它会显示空页面并且什么也不做。我无法让客户端获取新的service-worker.js.
我怎样才能让客户端获取新的service-worker.js?
I have a bad service worker that is no longer updating. I noticed the issue in Chrome first. I then put the following code in the index.html file and in the sw.js (service worker) file. For the most part it seems to be working fine. Firefox seems to be the only browser that is not removing the service worker. I used the article below to create the unregister script.
How do I uninstall a Service Worker?
I have also used …
我非常谨慎地将一个服务工作者添加到我的PWA中,这将缓存我的所有文件.我试图实现一个总是调用服务器来获取"版本"文件的系统,这样当"版本"文件更新时,缓存就会被清除.
但是,某些东西无法正常工作,现在客户端根本不再调用服务器,因为它们拥有所需的文件.这非常适合离线使用!但是那些客户端永远不会再次调用服务器,因此当我更新站点以解决问题时(我已经完成),他们没有得到更新!
关于如何再次与这些客户联系的任何建议?