Remove Twitter/X's Ads
// ==UserScript==
// @name Twitter Ad Remover
// @name:zh-CN 推特广告清理
// @name:zh-TW 推特廣告清理
// @name:ja Twitter 広告除去
// @description Remove Twitter/X's Ads
// @description:zh-CN 移除推特的广告
// @description:zh-TW 移除推特的廣告
// @description:ja Twitterの広告を除去します
// @namespace http://tampermonkey.net/
// @version 1.2
// @author Kamii_Sinogi
// @match https://twitter.com/*
// @match https://x.com/*
// @run-at document-start
// @grant none
// @license MIT
// ==/UserScript==
(function() {
'use strict';
const AD_LABELS = /^(广告|Promoted|Ad|広告|付费合作|已推广|用表情符号回应)$/i;
const removeAds = (root) => {
root.querySelectorAll?.('[data-testid="whoToFollowSspAd"]')
.forEach(el => el.remove());
root.querySelectorAll?.('span').forEach(span => {
if (AD_LABELS.test(span.textContent.trim())) {
span.closest('article')?.remove();
}
});
};
new MutationObserver(mutations => {
mutations.forEach(m => {
m.addedNodes.forEach(node => {
if (node.nodeType === 1) removeAds(node);
});
});
}).observe(document.documentElement, { childList: true, subtree: true });
removeAds(document);
})();