Block Service Workers

Blocks Service Worker's registration.

目前為 2023-10-04 提交的版本,檢視 最新版本

// ==UserScript==
// @name        Block Service Workers
// @name:zh-CN  禁用Service Workers
// @namespace   Violentmonkey Scripts
// @match       *://*/*
// @unwrap
// @version     0.3.5
// @author      axototl
// @inject-into page
// @sandbox     JavaScript
// @license     AGPL-3.0-or-later
// @description Blocks Service Worker's registration.
// @description:zh-CN 阻止Service Worker,并移除现有的Service Worker,杜绝网上垃圾。
// @run-at      document-start
// ==/UserScript==
'use strict';
console.groupCollapsed("remove SW APIs");
(() => {
    if (!('serviceWorker' in navigator)) {
        console.log("Did not detected SW APIs, exiting...");
        return;
    }
    console.log("Removing Service Workers API, please wait...");
    navigator.serviceWorker.register = () => new Promise((res, rej) => rej("This method is not allowed!"));
    console.log("Deregistering Installed Service Workers, please wait...");
    (async () => {
        let arrs = await navigator.serviceWorker.getRegistrations();
        for (const it of arrs) it.unregister();
    })();
    console.log("All done!");
    // GM_registerMenuCommand("注销Service Workers", logout);
})();

console.groupEnd();