// ==UserScript== // @name 去你妈的批站诈骗广告 // @namespace http://tampermonkey.net/ // @version 1.3 // @description bilibili,B站,屏蔽首页小火箭推广视频,屏蔽广告,左侧大图滑动推荐栏 // @author 爆菊大师 // @match *://*.bilibili.com/* // @grant none // @license MIT // @downloadURL none // ==/UserScript== (function () { 'use strict'; const selectors = { pseudo: '.bili-video-card.is-rcmd', icons: '.vui_icon.bili-video-card__stats--icon', adFeed: '.bili-video-card__mask .bili-video-card__stats--text', skeleton: '.bili-live-card.is-rcmd.enable-no-interest .bili-live-card__skeleton.hide', swipe: '.recommended-swipe.grid-anchor, .floor-single-card, .fixed-card' }; function hideElement(element) { element.style.display = 'none'; } function isBlocked(element) { const content = window.getComputedStyle(element, '::before').content; return content.includes('AdGuard') || content.includes('AdBlock'); } function checkElements(selector, condition, parentSelector) { document.querySelectorAll(selector).forEach(el => { const target = parentSelector ? el.closest(parentSelector) : el; if (target && (!condition || condition(el))) hideElement(target); }); } function runAllChecks() { checkElements(selectors.pseudo, el => isBlocked(el) || Array.from(el.children).some(isBlocked) ); checkElements(selectors.icons, null, '.bili-video-card'); checkElements(selectors.adFeed, el => el.textContent.includes('广告'), '.bili-video-card__wrap' ); checkElements(selectors.skeleton, null, '.bili-live-card'); checkElements(selectors.swipe); } runAllChecks(); new MutationObserver(runAllChecks) .observe(document.body, { subtree: true, childList: true }); })();