Greasy Fork

Greasy Fork is available in English.

删除Bilibili上被广告插件拦截的内容

删除bilibili主页被广告插件拦截的内容

当前为 2024-08-11 提交的版本,查看 最新版本

// ==UserScript==
// @name         删除Bilibili上被广告插件拦截的内容
// @namespace    http://tampermonkey.net/
// @version      0.4
// @description  删除bilibili主页被广告插件拦截的内容
// @match        https://www.bilibili.com/
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    function removeSpecificDivs() {
        // 处理被feed-card包裹的情况
        const feedCards = document.querySelectorAll('.feed-card');
        feedCards.forEach(card => {
            const videoCard = card.querySelector('.bili-video-card.is-rcmd');
            if (videoCard && !videoCard.classList.contains('enable-no-interest')) {
                card.remove();
            }
        });

        // 处理直接的bili-video-card
        const directVideoCards = document.querySelectorAll('.bili-video-card.is-rcmd:not(.enable-no-interest)');
        directVideoCards.forEach(card => {
            // 如果父元素不是feed-card,直接删除这个bili-video-card
            if (!card.parentElement.classList.contains('feed-card')) {
                card.remove();
            }
        });
    }

    // 初始执行
    removeSpecificDivs();

    // 创建一个MutationObserver来监视DOM变化
    const observer = new MutationObserver((mutations) => {
        mutations.forEach((mutation) => {
            if (mutation.type === 'childList') {
                removeSpecificDivs();
            }
        });
    });

    // 配置观察选项
    const config = { childList: true, subtree: true };

    // 开始观察文档主体
    observer.observe(document.body, config);
})();