您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
remove view count numbers & tweet analytics links from Twitter timeline because fuck that
// ==UserScript== // @name nuke tweet view counts // @namespace http://elycien.com/ // @version 0.6 // @license GNU GPLv3 // @description remove view count numbers & tweet analytics links from Twitter timeline because fuck that // @author Elcie // @match http*://*twitter.com/* // @icon data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== // @grant none // ==/UserScript== (function() { 'use strict'; const targetNode = document.querySelector('body'); const config = { attributes: true, childList: true, subtree: true }; const callback = function(mutationsList, observer) { for (let mutation of mutationsList) { let xpath = "//a[contains(@href, '/analytics')]//span[contains(text(), 'View')] | //*[contains(@aria-label, 'View Tweet analytics')]"; let elements = document.evaluate(xpath, document, null, XPathResult.UNORDERED_NODE_ITERATOR_TYPE, null); let targetedElement = elements.iterateNext(); while (targetedElement) { while (targetedElement && targetedElement.tagName != "A" && (!targetedElement.getAttribute("aria-label") || !targetedElement.getAttribute("aria-label").includes("View Tweet analytics"))) { targetedElement = targetedElement.parentElement; } if (targetedElement) { var testid = targetedElement.getAttribute("data-testid"); if (!testid || testid != "analyticsButton") { let parent = targetedElement.parentElement; if (parent) { if (parent.style.display != 'none') { parent.style.display = 'none'; } } else { if (targetedElement.style.display != 'none') { targetedElement.style.display = 'none'; } } } } targetedElement = elements.iterateNext(); } } }; const observer = new MutationObserver(callback); observer.observe(targetNode, config); })();