您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Adds back the button for display settings in the sidebar, changing simple colours shouldn't need cost money, Elon.
当前为
// ==UserScript== // @name X/Twitter Display Settings Sidebar Button // @namespace http://tampermonkey.net/ // @version 0.4 // @description Adds back the button for display settings in the sidebar, changing simple colours shouldn't need cost money, Elon. // @author Lupo01 (Y0ICHI) // @license MIT // @match https://x.com/* // @match https://twitter.com/* // @icon https://abs.twimg.com/favicons/twitter.3.ico // @grant none // ==/UserScript== (function() { 'use strict'; const SELECTORS = { SIDEBAR: 'nav[aria-label="Primary"][role="navigation"]', MORE_BUTTON: 'button[data-testid="AppTabBar_More_Menu"]', LINK_TEMPLATE: 'a[href*="/i/bookmarks"], a[href*="/Lupo01_/communities"]' }; function init() { const observer = new MutationObserver(() => { const sidebar = document.querySelector(SELECTORS.SIDEBAR); const moreButton = document.querySelector(SELECTORS.MORE_BUTTON); const templateLink = document.querySelector(SELECTORS.LINK_TEMPLATE); if (sidebar && moreButton && templateLink && !document.getElementById('display-settings-button')) { observer.disconnect(); addDisplaySettingsButton(sidebar, moreButton, templateLink); } }); observer.observe(document.body, {childList: true, subtree: true}); setTimeout(() => observer.disconnect(), 10000); } function addDisplaySettingsButton(sidebar, moreButton, templateLink) { const displayButton = templateLink.cloneNode(true); displayButton.id = 'display-settings-button'; displayButton.href = '/settings/display'; displayButton.removeAttribute('data-testid'); displayButton.removeAttribute('aria-selected'); // Modifica il testo const textSpan = displayButton.querySelector('[dir="ltr"] span'); if (textSpan) { textSpan.textContent = 'Display Settings'; } // Modifica l'icona const iconContainer = displayButton.querySelector('svg').parentElement; iconContainer.innerHTML = ` <svg viewBox="0 0 24 24" aria-hidden="true" class="r-4qtqp9 r-yyyyoo r-dnmrzs r-bnwqim r-lrvibr r-m6rgpd r-1nao33i r-lwhw9o r-cnnz9e"> <g> <path d="M10.54 1.75h2.92l1.57 2.36c.11.17.32.25.53.21l2.53-.59 2.17 2.17-.58 2.54c-.05.2.04.41.21.53l2.36 1.57v2.92l-2.36 1.57c-.17.12-.26.33-.21.53l.58 2.54-2.17 2.17-2.53-.59c-.21-.04-.42.04-.53.21l-1.57 2.36h-2.92l-1.58-2.36c-.11-.17-.32-.25-.52-.21l-2.54.59-2.17-2.17.58-2.54c.05-.2-.03-.41-.21-.53l-2.35-1.57v-2.92L4.1 8.97c.18-.12.26-.33.21-.53L3.73 5.9 5.9 3.73l2.54.59c.2.04.41-.04.52-.21l1.58-2.36zm1.07 2l-.98 1.47C10.05 6.08 9 6.5 7.99 6.27l-1.46-.34-.6.6.33 1.46c.24 1.01-.18 2.07-1.05 2.64l-1.46.98v.78l1.46.98c.87.57 1.29 1.63 1.05 2.64l-.33 1.46.6.6 1.46-.34c1.01-.23 2.06.19 2.64 1.05l.98 1.47h.78l.97-1.47c.58-.86 1.63-1.28 2.65-1.05l1.45.34.61-.6-.34-1.46c-.23-1.01.18-2.07 1.05-2.64l1.47-.98v-.78l-1.47-.98c-.87-.57-1.28-1.63-1.05-2.64l.34-1.46-.61-.6-1.45.34c-1.02.23-2.07-.19-2.65-1.05l-.97-1.47h-.78zM12 10.5c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5c.82 0 1.5-.67 1.5-1.5s-.68-1.5-1.5-1.5zM8.5 12c0-1.93 1.56-3.5 3.5-3.5 1.93 0 3.5 1.57 3.5 3.5s-1.57 3.5-3.5 3.5c-1.94 0-3.5-1.57-3.5-3.5z"></path> </g> </svg> `; // Inserisci prima del pulsante "More" moreButton.parentElement.insertBefore(displayButton, moreButton); // Aggiungi stili per l'hover displayButton.style.transition = 'background-color 0.2s'; displayButton.addEventListener('mouseover', () => { displayButton.style.backgroundColor = 'rgba(231, 233, 234, 0.1)'; }); displayButton.addEventListener('mouseout', () => { displayButton.style.backgroundColor = 'transparent'; }); } // Avvia lo script init(); // Gestione SPA let currentPath = location.pathname; setInterval(() => { if (location.pathname !== currentPath) { currentPath = location.pathname; setTimeout(init, 500); } }, 100); })();