service-worker - 以编程方式取消注册脚本包含特定单词的服务 worker

标签 service-worker

我访问过很多网站,他们为我创建了很多 Service Worker。当我访问 chrome://serviceworker-internals/时,我发现我需要取消注册许多脚本 url 包含特定单词的服务工作线程。
我怎样才能做到这一点?

最佳答案

使用此功能:

function unregisterServiceWorkersWhereScriptContainSpecificWord(specificWord) {
  const allServiceWorkerDivs = [
    ...document.body.querySelectorAll('.serviceworker-item'),
  ];
  const serviceWorkerDivsWhichContainSpecificWord = allServiceWorkerDivs.filter(
    (div) => {
      const scriptDiv = div.querySelector('.serviceworker-script_url');
      return scriptDiv.textContent.includes(specificWord);
    }
  );
  const unregisterButtons = serviceWorkerDivsWhichContainSpecificWord.map(
    (div) => {
      return div.querySelector('button.unregister');
    }
  );
  unregisterButtons.forEach((button) => {
    button.click();
  });
}

它获取必须位于 Service Worker div 元素文本内容中的特定单词,然后单击每个 Service Worker 的取消注册按钮

请注意,应在浏览器控制台中定义和调用此函数

关于service-worker - 以编程方式取消注册脚本包含特定单词的服务 worker ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76532262/

相关文章:

javascript - 在 JavaScript 中强制重新加载跳过 Service Worker

service-worker - 检测 Service Worker 驱逐

service-worker - 我可以使用 service worker 缓存 mp3 文件吗?

service-worker - 如何在使用 Service Worker 时缓存 Google map 等 API

javascript - 使用 Workbox 缓存整页

service-worker - 在开发模式下禁用 Service Worker。

javascript - 我们可以从跨域注册 Service Worker 吗

angular - 如何使用 Service Worker 缓存图像?

javascript - 在 Service Worker 中预缓存生成的 Assets

service-worker - 除非我删除 cookie/缓存,否则更改不会反射(reflect)在服务人员中