Hide replies and reposts in your X.com (Twitter) home timeline.
当前为
// ==UserScript==
// @name Hide Replies and Reposts from Timeline on X.com
// @namespace http://tampermonkey.net/
// @version 1.2
// @description Hide replies and reposts in your X.com (Twitter) home timeline.
// @author
// @match https://x.com/*
// @grant none
// @license MIT
// ==/UserScript==
(function() {
'use strict';
/**
* Function to hide reply tweets and reposts from the home timeline.
*/
function hideRepliesAndReposts() {
// Select all tweets in the timeline
const tweets = document.querySelectorAll('div[data-testid="cellInnerDiv"]');
tweets.forEach((tweet) => {
// Check if the tweet is a reply
const isReply = tweet.querySelector('div[aria-label^="Replying to"]') !== null;
// Check if the tweet is a repost
let isRepost = false;
// Look for the repost badge or text
const repostBadge = tweet.querySelector('div[data-testid="socialContext"] span');
if (repostBadge && repostBadge.innerText.includes('Reposted')) {
isRepost = true;
}
// Alternative method: check for the "repost" icon with aria-label
const repostIcon = tweet.querySelector('svg[aria-label="Reposted"]');
if (repostIcon) {
isRepost = true;
}
if (isReply || isRepost) {
// Hide the tweet if it's a reply or repost
tweet.style.display = 'none';
}
});
}
// Run the function once the DOM content is loaded
document.addEventListener('DOMContentLoaded', hideRepliesAndReposts);
// Observe changes to the timeline to hide new replies and reposts
const observer = new MutationObserver(hideRepliesAndReposts);
observer.observe(document.body, { childList: true, subtree: true });
})();