您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Autoclick "show" on X nsfw posts
// ==UserScript== // @name X/Twitter autoshow nsfw // @description Autoclick "show" on X nsfw posts // @grant none // @license UNLICENSE - https://unlicense.org/ // @version 0.1712797942 // @namespace https://lucdev.net // @match *://twitter.com/* // @author lucdev.net // ==/UserScript== (() => { /** * @param cb {function(): void} * @returns */ function domReady(cb) { if (document.readyState === 'complete') { return cb(); } document.addEventListener('readystatechange', domReady.bind(null, cb)); }; function clickAllShowButtons() { const showSpans = Array.from( document.querySelectorAll(`div[role="button"] > div > span > span`) ).filter( span => span.textContent.toLowerCase().trim() === 'show' ); if (showSpans.length > 0) { for (const span of showSpans) { /** @type HTMLSpanElement */ const parentSpan = span.parentElement; if (!parentSpan) { continue; } /** @type HTMLSpanElement */ const parentSpanParent = parentSpan.parentElement; if (!parentSpanParent) { continue; } /** @type HTMLDivElement */ const parentDiv = parentSpanParent.parentElement; if (!parentDiv) { continue; } /** @type HTMLDivElement */ const button = parentSpanParent.parentElement; if (!button) { continue; } button.click(); window.setTimeout(() => hideHideButtons(), 1000); } } } function hideHideButtons() { const hideSpans = Array.from( document.querySelectorAll(`div[role="button"] > div > span > span`) ).filter( span => span.textContent.toLowerCase().trim() === 'hide' ); if (hideSpans.length > 0) { for (const span of hideSpans) { /** @type HTMLSpanElement */ const parentSpan = span.parentElement; if (!parentSpan) { continue; } /** @type HTMLSpanElement */ const parentSpanParent = parentSpan.parentElement; if (!parentSpanParent) { continue; } /** @type HTMLDivElement */ const parentDiv = parentSpanParent.parentElement; if (!parentDiv) { continue; } /** @type HTMLDivElement */ const button = parentSpanParent.parentElement; if (!button) { continue; } button.style.display = "none"; } } } domReady(() => { window.setInterval(() => clickAllShowButtons(), 1000); window.addEventListener("scrollend", () => { window.setTimeout(() => clickAllShowButtons(), 250); }); }); })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址