列出chromes注册服务人员

Sha*_*chi 10 javascript arrays google-chrome service-worker

有没有办法列出所有浏览器注册的服务工作者?可以说我已经注册/安装了一些服务人员.我可以通过js获取一个文件名列表吗?

Sau*_*rai 19

显然我发现了两种适合我的方法(对于chrome):一种是使用快捷命令:

chrome://serviceworker-internals/
Run Code Online (Sandbox Code Playgroud)

另一个是:

Developers Tool -> Resources -> Service Workers


Myk*_*lez 14

由于网页只能访问为其范围注册的服务工作者,因此无法以编程方式从网页获取"所有浏览器"的注册服务工作者.但是,如果您正在寻找获得这些的方法,那么请致电navigator.serviceWorker.getRegistrations获得一个解决了一系列注册服务工作者的承诺:

navigator.serviceWorker.getRegistrations().then(function(registrations) {
  registrations.forEach(function(v) { console.log('service worker: ' + v) });
});
Run Code Online (Sandbox Code Playgroud)


Myk*_*lez 6

如果您真的想要获得"所有浏览器"的注册服务工作者,您可以通过打开以下URL以非编程方式执行此操作:

火狐

about:serviceworkers
Run Code Online (Sandbox Code Playgroud)

chrome://serviceworker-internals/
Run Code Online (Sandbox Code Playgroud)

歌剧

browser://serviceworker-internals
Run Code Online (Sandbox Code Playgroud)

另请参阅:ServiceWorker准备好了吗?获取最新的调试助手列表.


(据推测,还有一种方法可以在Firefox扩展中以编程方式执行此操作.)