[油猴插件:移除 Bilibili 直播/社情/电视剧 等推荐卡片]( https://greasyfork.org/zh-CN/scripts/511885-%E7%A7%BB%E9%99%A4-bilibili-%E7%9B%B4%E6%92%AD-%E7%A4%BE%E6%83%85-%E7%94%B5%E8%A7%86%E5%89%A7-%E7%AD%89%E6%8E%A8%E8%8D%90%E5%8D%A1%E7%89%87)
发现 bilibili 首页所有的卡片元素都是:
```HTML
<div class="feed-card" />
<div class="bili-video-card is-rcmd enable-no-interest" />
<div class="floor-single-card" />
<div class="bili-video-card is-rcmd" />
```
其中`class="floor-single-card"` 对应的卡片都是直播/电视剧/社情等内容,这种元素有个特征,就是内部会多两个 div 层级:
```html
<div class="layer"></div>
<div class="layer tiny"></div>
```
目前只能根据这个来排除社情/直播等内容,无法再细致化处理。
具体的脚本如下:
```javascript
(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 });
})();
```
更正确的做法应该是通过卡片封面调用 api 判断是否为社情才对,直接这么处理不够细致,先这么使用吧~ |
|