腳本用於移除 tonybai 廣告
目前為
// ==UserScript==
// @name tonybai-adb
// @name:zh-CN tonybai去广告
// @name:zh-TW tonybai去廣告
// @name:zh-HK tonybai去廣告
// @name:zh-MO tonybai去廣告
// @namespace Violentmonkey Scripts
// @match https://tonybai.com/*
// @grant none
// @version 1.3
// @author ddatsh
// @description A script to remove tonybai ads
// @description:zh-CN 脚本用于移除tonybai广告
// @description:zh-TW 腳本用於移除 tonybai 廣告
// @description:zh-HK 腳本用於移除 tonybai 廣告
// @description:zh-MO 腳本用於移除 tonybai 廣告
// ==/UserScript==
(function() {
`use strict`;
const hrTags = document.querySelectorAll('hr[isinvalidtag="true"]');
const articleTags = document.querySelectorAll('article');
// 存储所有需要删除的 <p> 标签
const pTagsToRemove = [];
// 遍历每个 <hr> 标签
hrTags.forEach(hr => {
// 找到最近的 <article> 标签
let closestArticle = null;
articleTags.forEach(article => {
if (!closestArticle || hr.compareDocumentPosition(article) & Node.DOCUMENT_POSITION_FOLLOWING) {
closestArticle = article;
}
});
// 如果找到了 <hr> 和 <article> 标签,收集需要删除的 <p> 标签
if (closestArticle) {
// 从 <hr> 到 <article> 之间的所有节点
let current = hr.nextElementSibling;
while (current && current !== closestArticle) {
pTagsToRemove.push(current);
current = current.nextElementSibling;
}
}
hr.remove();
});
// 删除所有收集到的 <p> 标签
pTagsToRemove.forEach(p => p.remove());
// 获取包含section元素的父容器
var parentDiv = document.getElementById('secondary');
parentDiv.style.paddingTop = '0';
var firstWidgetSection = parentDiv.querySelector('section.widget');
// 如果找到该元素,从DOM中移除
if (firstWidgetSection) {
firstWidgetSection.parentNode.removeChild(firstWidgetSection);
}
// 单独查找并移除具有特定ID的section元素
var sectionText4 = document.getElementById('text-4');
if (sectionText4) {
sectionText4.parentNode.removeChild(sectionText4);
}
var sectionText3 = document.getElementById('text-3');
if (sectionText3) {
sectionText3.parentNode.removeChild(sectionText3);
}
var wpm_subscribe_widget = document.getElementById('wpm_subscribe_widget-3');
if (sectionText3) {
wpm_subscribe_widget.parentNode.removeChild(wpm_subscribe_widget);
}
})();