您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Comprehensive Spotify AdBlocker (audio, banners, premium prompts).
// ==UserScript== // @name Spotify AdBlocker // @namespace http://tampermonkey.net/ // @version 3.0 // @description Comprehensive Spotify AdBlocker (audio, banners, premium prompts). // @author Plancy // @match https://open.spotify.com/* // @grant none // @license MIT // ==/UserScript== (async function () { 'use strict'; const queryAsync = (query, interval = 250) => new Promise(resolve => { const checkInterval = setInterval(() => { const element = document.querySelector(query); if (element) { clearInterval(checkInterval); resolve(element); } }, interval); }); const removeElements = selector => { document.querySelectorAll(selector).forEach(el => el.remove()); }; const handleAudioAds = () => { const audioAd = document.querySelector('audio[src*="spotify.com/ad"]'); if (audioAd) { audioAd.src = ""; audioAd.pause(); } }; const inject = ({ ctx, fn, transform }) => { const original = ctx[fn]; ctx[fn] = function () { const result = original.apply(this, arguments); return transform ? transform.call(this, result, ...arguments) : result; }; }; const observer = new MutationObserver(() => { removeElements('[data-testid="ad-slot-container"], [class*="ad-"]'); handleAudioAds(); removeElements('.ButtonInner-sc-14ud5tc-0.fcsOIN'); }); observer.observe(document.body, { childList: true, subtree: true, }); const adRemovalInterval = setInterval(() => { removeElements('[data-testid="ad-slot-container"], [class*="ad-"]'); handleAudioAds(); removeElements('.ButtonInner-sc-14ud5tc-0.fcsOIN'); }, 1000); const nowPlayingBar = await queryAsync(".now-playing-bar"); const playButton = await queryAsync("button[title=Play], button[title=Pause]"); let audio; inject({ ctx: document, fn: "createElement", transform(result, type) { if (type === "audio") { audio = result; } return result; }, }); new MutationObserver(() => { if (audio && playButton && document.querySelector(".now-playing > a")) { audio.src = ""; playButton.click(); } }).observe(nowPlayingBar, { childList: true, subtree: true, }); window.addEventListener('beforeunload', () => { observer.disconnect(); clearInterval(adRemovalInterval); }); console.log("Spotify AdBlocker Ultimate is active"); })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址