Remove promoted tweets and ads from Twitter feed
当前为
// ==UserScript==
// @name Twitter Ad Remover
// @namespace http://tampermonkey.net/
// @version 1.0
// @description Remove promoted tweets and ads from Twitter feed
// @author aspen138
// @match *://twitter.com/*
// @match *://x.com/*
// @grant none
// @license MIT
// @icon https://about.twitter.com/etc/designs/about2-twitter/public/img/favicon-32x32.png
// ==/UserScript==
(function() {
'use strict';
function removePromotedTweets(node) {
node = node || document.body;
// Select all tweets within the node
const tweets = node.querySelectorAll('article[data-testid="tweet"]');
tweets.forEach((tweet) => {
// Look for the "Ad" label within the tweet
const adLabel = tweet.querySelector('div[dir="ltr"] > span');
if (adLabel && (adLabel.textContent === 'Promoted' || adLabel.textContent === 'Ad')) {
// Remove the tweet if it's a promoted tweet
tweet.remove();
}
});
}
// Initial removal
removePromotedTweets();
// Observe the DOM for changes (e.g., new tweets loaded dynamically)
const observer = new MutationObserver((mutations) => {
mutations.forEach((mutation) => {
mutation.addedNodes.forEach((node) => {
if (node.nodeType === Node.ELEMENT_NODE) {
removePromotedTweets(node);
}
});
});
});
observer.observe(document.body, {
childList: true,
subtree: true
});
})();