您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
阻止Service Worker注册,并移除现有的Service Workers,杜绝网上垃圾。
- // ==UserScript==
- // @name Block Service Workers
- // @name:zh-CN 禁用Service Workers
- // @namespace Violentmonkey Scripts
- // @match *://*/*
- // @grant GM_addElement
- // @grant GM_info
- // @version 0.7
- // @grant GM_log
- // @author axototl
- // @license Unlicense
- // @description Blocks Service Worker's registration.
- // @description:zh-CN 阻止Service Worker注册,并移除现有的Service Workers,杜绝网上垃圾。
- // @icon https://www.w3.org/favicon.ico
- // @run-at document-start
- // ==/UserScript==
- 'use strict';
- const main = async (logger) => {
- 'use strict';
- if (!('serviceWorker' in navigator)) {
- console.warn("Did not detected SW APIs, exiting...");
- return;
- }
- logger("Removing Service Workers API, please wait...");
- navigator.serviceWorker.register =
- () => new Promise((res, rej) => rej("This method is not allowed!"));
- logger("Deregistering Installed Service Workers, please wait...");
- (await navigator.serviceWorker.getRegistrations())
- .forEach(it => it.unregister());
- logger("All done!");
- }
- if (GM_info.injectInto === 'page' || GM_info.sandboxMode === "raw") main(GM_log);
- else {
- const blobURL = URL.createObjectURL(new Blob([`(${main.toString()})(console.log);`], {type: "text/javascript"}));
- GM_addElement("script", {src: blobURL}).onload =
- () => setTimeout(() => (URL.revokeObjectURL(blobURL), GM_log("Destroyed")), 1000);
- }