删除bilibili主页被广告插件拦截的内容
// ==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);
})();