Hide Reposts on Twitter

Hides reposts (retweets) when scrolling

目前為 2024-06-17 提交的版本,檢視 最新版本

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name		Hide Reposts on Twitter
// @description	Hides reposts (retweets) when scrolling
// @namespace	Hide_Reposts_on_Twitter
// @compatible	Chrome
// @compatible	Firefox
// @version		1.21
// @author		Owyn
// @match		https://x.com/*
// @match		https://twitter.com/*
// @grant		GM_registerMenuCommand
// @noframes
// @run-at		document-end
// @sandbox		JavaScript
// @license		MIT
// ==/UserScript==
'use strict';

const tweetCSS = '[data-testid="cellInnerDiv"]';
const repostCSS = '[data-testid="socialContext"]';
const alreadyHiddenCSS = '[style*="display: none;"]';

function hideReposts()
{
	var n = document.querySelectorAll(tweetCSS+':has('+repostCSS+'):not('+alreadyHiddenCSS+')');
	for (let i = 0; i < n.length; i++)
	{
		n[i].style.display = "none";
		console.debug("hid a repost");
	}
	setTimeout(hideReposts, 500);
}

window.addEventListener("scroll", hideReposts);

if (typeof GM_registerMenuCommand !== "undefined")
{
	GM_registerMenuCommand("Disable (this once for this page)", () => window.removeEventListener("scroll", hideReposts), "h");
}