您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Greasy Fork is available in English.
隐藏B站动态瀑布流中的广告和充电内容
当前为
// ==UserScript== // @name 隐藏B站充电和广告 // @version 1.17 // @description 隐藏B站动态瀑布流中的广告和充电内容 // @author chemhunt // @match https://t.bilibili.com/* // @match https://space.bilibili.com/* // @grant none // @license GPL-3.0 License // @namespace http://greasyfork.icu/scripts/511437/ // ==/UserScript== (function() { 'use strict'; //白名单UP主,可自行修改、增删 const whiteList = [ '白名单UP_1', '白名单UP_2', ]; const messageDiv = document.createElement('div'); Object.assign(messageDiv.style, { position: 'fixed', top: '10px', right: '10px', padding: '10px', backgroundColor: 'rgba(0, 0, 0, 0.7)', color: 'white', borderRadius: '5px', zIndex: '9999', display: 'none' }); document.body.appendChild(messageDiv); const blockedKeywords = [ '拼多多', '淘宝', '京东', '天猫', '手淘', '旗舰店', '特价', '领券', '下单', '礼包', '补贴', '优惠', '双11','双12', '618', '品牌方', '溪木源', '海力生', '萌牙家', '妙界', 'DAWEI', '温眠', '护肝', '护颈','护眼', '护枕', '按摩', '冲牙器', //'中奖', '预告', '抽奖', ]; const blockedLinks = [ 'taobao.com', 'jd.com', 'pinduoduo.com', ]; function hideItem(item) { item.style.display = 'none'; } function checkForContentToHide() { const items = document.querySelectorAll('.bili-dyn-list__item'); let hiddenChargeCount = 0; let hiddenAdCount = 0; items.forEach(item => { const contentDiv = item.querySelector('.bili-dyn-content'); const badge = item.querySelector('.bili-dyn-card-video__badge'); const specialTitle = item.querySelector('.dyn-blocked-mask__msg-title'); const spans = item.querySelectorAll('span'); const lotteryTitle = item.querySelector('.dyn-upower-lottery__title'); const titleElement = item.querySelector('.bili-dyn-title'); // 检查UP名字是否在白名单中 if (titleElement && whiteList.includes(titleElement.textContent.trim())) { return; } if (badge && badge.textContent.includes('充电专属') || specialTitle && specialTitle.textContent.includes('专属动态') || Array.from(spans).some(span => span.textContent.includes('充电专属问答')) || lotteryTitle && lotteryTitle.textContent.includes('专属抽奖')) { hideItem(item); hiddenChargeCount++; } else if (contentDiv) { const contentText = contentDiv.textContent; if (blockedKeywords.some(keyword => contentText.includes(keyword))) { hideItem(item); hiddenAdCount++; } } spans.forEach(span => { const dataUrl = span.getAttribute('data-url'); if (dataUrl && blockedLinks.some(blocked => dataUrl.includes(blocked))) { hideItem(item); hiddenAdCount++; } }); }); // 显示隐藏的内容数量 let message = ''; if (hiddenChargeCount > 0) { message += `隐藏充电 x ${hiddenChargeCount} `; } if (hiddenAdCount > 0) { message += `隐藏广告 x ${hiddenAdCount}`; } if (message) { showMessage(message.trim()); } } function showMessage(msg) { messageDiv.textContent = msg; messageDiv.style.display = 'block'; setTimeout(() => { messageDiv.style.display = 'none'; }, 3000); } const observer = new MutationObserver(checkForContentToHide); observer.observe(document.body, { childList: true, subtree: true }); checkForContentToHide(); })();