您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Greasy Fork is available in English.
Remove user and topics to follow suggestions from Twitter
当前为
// ==UserScript== // @name Twitter cleanup // @version 1.9 // @grant Sly_North // @description Remove user and topics to follow suggestions from Twitter // @author Sly_North // @match https://twitter.com/* // @match https://mobile.twitter.com/* // @namespace https://greasyfork.runtimutd.eu.org/en/users/759669-sly-north // @icon https://abs.twimg.com/responsive-web/client-web/icon-svg.168b89d8.svg // @license MIT // @grant none // ==/UserScript== function RemoveFollowingThinElements(e, removeWithoutFollowButton) { console.log('- removing H=', e.getBoundingClientRect().height, ' ', e.innerText); let next = e.nextSibling; if (next) { let nextH = next.getBoundingClientRect().height; if (nextH < 200) { if (removeWithoutFollowButton || next.innerText.match(/Follow/)) RemoveFollowingThinElements(next, removeWithoutFollowButton); else { // console.log('- TWcleanup stops at H=', nextH, ' "' + next.innerText + '"'); if (next.innerText === 'Show more') { next.innerHTML = ""; } } } } e.innerHTML = ""; } function RemoveSuggestions() { // Needs to be in screen for nextSibling to be defined. let elts = Array.from(document.getElementsByTagName('H2')).filter( e => e.getBoundingClientRect().top < window.innerHeight && e.innerText === 'Who to follow'); if (elts.length > 0) { console.log('Found "Who to follow"'); for (let e of elts) { e = e.parentElement.parentElement.parentElement.parentElement; RemoveFollowingThinElements(e, false); } } elts = Array.from(document.getElementsByTagName('SPAN')).filter( e => // e.getBoundingClientRect().top < window.innerHeight && (e.innerText === 'Topics to follow' || e.innerText === 'Expand your timeline with Topics')); if (elts.length > 0) { console.log('Found "', elts[0].innerText, '"'); for (let e of elts) { e = e.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement; // Remove topics and offset bar RemoveFollowingThinElements(e.nextSibling, true); // Remove title e.innerHTML = ""; } console.log('Removed "', title, '"'); } elts = Array.from(document.getElementsByTagName('article')).filter(e => e.innerText.match(/ follows*\n/)); if (elts.length > 0) { console.log('Found X follow Y count=', elts.length); for (let e of elts) { console.log(' - ', e.innerText.substring(0, 40)); e.innerHTML = ""; } } setTimeout(RemoveSuggestions, 1000); // Unfreeze scrolling if (document.documentElement.style.overflow) document.documentElement.style.overflow = "scroll"; let eltCred = document.getElementById('credential_picker_container'); if (eltCred && eltCred.getBoundingClientRect().width < 400) eltCred.style.display = "none"; // If the window is very small (like when watching a video in a small secondary window), // remove the Twitter left column and top banner. { let elts = document.getElementsByTagName('header'); if (elts.length > 0) { elts[0].style.display = (window.innerWidth < 700) ? "none" : ""; } var elt = document.querySelector('[aria-label="Home timeline"]'); if (elt) elt.firstChild.style.display = (window.innerHeight < 700) ? "none" : ""; } } let bottomBanners = Array.from(document.getElementsByTagName('div')) .filter(e => e.dataset.testid === 'BottomBar' ); if (bottomBanners.length > 0) bottomBanners[0].innerHTML = ''; let elt = document.getElementById('credential_picker_container'); if (elt) elt.innerHTML = ""; setTimeout(RemoveSuggestions, 1000); /* if (document.location.href === 'https://twitter.com/home') { // Switch to the Following tab setTimeout(() => { for (let e of document.getElementsByTagName('span')) { if (e.innerText === 'Following') { e.click(); break;} } }, 500); } */