有没有办法列出所有浏览器注册的服务工作者? 可以说我已经注册/安装了一些服务人员。 我可以通过js获取列表中的文件名数组吗?
答案 0 :(得分:16)
显然我发现了两种适合我的方法(对于chrome): 一个是使用快捷命令:
chrome://serviceworker-internals/
另一个是:
转到Developers Tool -> Resources -> Service Workers
答案 1 :(得分:12)
由于网页只能访问为其范围注册的服务工作者,因此无法以编程方式从网页获取“所有浏览器”的注册服务工作者。但是如果你正在寻找一种方法来获取这些,那么请致电navigator.serviceWorker.getRegistrations
以获得一个解决了一系列注册服务工作者的承诺:
navigator.serviceWorker.getRegistrations().then(function(registrations) {
registrations.forEach(function(v) { console.log('service worker: ' + v) });
});
答案 2 :(得分:6)
如果您真的想要获得“所有浏览器”的注册服务工作者,您可以通过打开这些网址以非编程方式执行此操作:
about:serviceworkers
chrome://serviceworker-internals/
browser://serviceworker-internals
另请参阅:Is ServiceWorker Ready?以获取最新的调试助手列表。
(据推测,还有一种方法可以在Firefox扩展程序中以编程方式执行此操作。)