发现 bilibili 首页所有的卡片元素都是:
其中class="floor-single-card" 对应的卡片都是直播/电视剧/社情等内容,这种元素有个特征,就是内部会多两个 div 层级:
目前只能根据这个来排除社情/直播等内容,无法再细致化处理。
具体的脚本如下:
(function() {
'use strict';
function removeFloorSingleCards() {
// class='floor-single-card' 的卡片全是直播/社情/电视剧等推荐,统统移除!!!!
const cards = document.querySelectorAll('.floor-single-card');
cards.forEach(card => card.remove());
}
// 初始调用以移除已有的卡片
removeFloorSingleCards();
// 使用 MutationObserver 监视 DOM 变化
const observer = new MutationObserver(removeFloorSingleCards);
observer.observe(document.body, { childList: true, subtree: true });
})();