您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
為Twitter提供導航選項和貼文互動的快捷鍵,允許使用者自定快捷鍵組合。
// ==UserScript== // @name Twitter快捷鍵 // @name:en Twitter Shortcuts // @name:ja Twitterショートカット // @name:de Twitter-Tastenkombinationen // @name:es Atajos de Twitter // @description 為Twitter提供導航選項和貼文互動的快捷鍵,允許使用者自定快捷鍵組合。 // @description:en Provides shortcuts for navigation and post interaction on Twitter, allowing users to customize shortcut combinations. // @description:ja Twitterでのナビゲーションと投稿のインタラクションのためのショートカットを提供し、ユーザーがショートカットの組み合わせをカスタマイズできるようにします。 // @description:de Bietet Tastenkombinationen für Navigation und Interaktion mit Beiträgen auf Twitter, wobei Benutzer die Tastenkombinationen anpassen können. // @description:es Proporciona atajos para la navegación y la interacción con publicaciones en Twitter, permitiendo a los usuarios personalizar combinaciones de atajos. // @match https://twitter.com/* // @match https://x.com/* // @require https://update.gf.qytechs.cn/scripts/542910/1632051/%E5%BF%AB%E6%8D%B7%E9%8D%B5%E5%87%BD%E5%BC%8F%E5%BA%AB.js // @grant GM_setValue // @grant GM_getValue // @grant GM_registerMenuCommand // @grant GM_info // @version 1.3.0 // @author Max // @namespace https://github.com/Max46656 // @license MPL2.0 // ==/UserScript== class TwitterShortcuts { constructor() { this.shortcutLib = new ShortcutLibrary({ RuleC: false, RuleR: true, RuleU: ['shortcut'], RuleD: false, }); this.twitterRules = [ { "ruleName": "返回", "urlPattern": "https://x.com/.*", "selectorType": "css", "selector": "button[data-testid='app-bar-back']", "nthElement": 1, "shortcut": "CapsLock+Q", "ifLinkOpen": false, "isEnabled": true }, { "ruleName": "首頁", "urlPattern": "https://x.com/.*", "selectorType": "css", "selector": "nav a[href='/home']", "nthElement": 1, "shortcut": "CapsLock+w", "ifLinkOpen": false, "isEnabled": true }, { "ruleName": "使用者資料", "urlPattern": "https://x.com/.*", "selectorType": "css", "selector": "nav a", "nthElement": 7, "shortcut": "CapsLock+e", "ifLinkOpen": false, "isEnabled": true }, { "ruleName": "Grok", "urlPattern": "https://x.com/.*", "selectorType": "css", "selector": "nav a", "nthElement": 5, "shortcut": "CapsLock+r", "ifLinkOpen": false, "isEnabled": true }, { "ruleName": "搜尋", "urlPattern": "https://x.com/.*", "selectorType": "css", "selector": "nav a", "nthElement": 2, "shortcut": "CapsLock+t", "ifLinkOpen": false, "isEnabled": true }, { "ruleName": "欄位1", "urlPattern": "https://x.com/.*", "selectorType": "css", "selector": "nav[aria-live='polite'] a", "nthElement": 1, "shortcut": "CapsLock+g", "ifLinkOpen": false, "isEnabled": true }, { "ruleName": "欄位2", "urlPattern": "https://x.com/.*", "selectorType": "css", "selector": "nav[aria-live='polite'] a", "nthElement": 2, "shortcut": "CapsLock+f", "ifLinkOpen": false, "isEnabled": true }, { "ruleName": "欄位3", "urlPattern": "https://x.com/.*", "selectorType": "css", "selector": "nav[aria-live='polite'] a", "nthElement": 3, "shortcut": "CapsLock+d", "ifLinkOpen": false, "isEnabled": true }, { "ruleName": "欄位4", "urlPattern": "https://x.com/.*", "selectorType": "css", "selector": "nav[aria-live='polite'] a", "nthElement": 4, "shortcut": "CapsLock+s", "ifLinkOpen": false, "isEnabled": true }, { "ruleName": "欄位5", "urlPattern": "https://x.com/.*", "selectorType": "css", "selector": "nav[aria-live='polite'] a", "nthElement": 5, "shortcut": "CapsLock+a", "ifLinkOpen": false, "isEnabled": true }, { "ruleName": "轉推", "urlPattern": "https://x.com/.*/status/[0-9]*/photo/[0-9]*", "selectorType": "css", "selector": "div[role='group'] button[data-testid='retweet'],div[role='group'] button[data-testid='unretweet']", "nthElement": 1, "shortcut": "CapsLock+V", "ifLinkOpen": false, "isEnabled": true }, { "ruleName": "喜歡推文", "urlPattern": "https://x.com/.*/status/[0-9]*/photo/[0-9]*", "selectorType": "css", "selector": "div[role='group'] button[data-testid='like'],div[role='group'] button[data-testid='unlike']", "nthElement": 1, "shortcut": "CapsLock+C", "ifLinkOpen": false, "isEnabled": true }, { "ruleName": "展開推文", "urlPattern": "https://x.com/.*/status/[0-9]*/photo/[0-9]*", "selectorType": "css", "selector": "div[role='group'] button:has(path[d^='M11.59']),div[role='group'] button:has(path[d^='M12.04'])", "nthElement": 1, "shortcut": "CapsLock+X", "ifLinkOpen": false, "isEnabled": true }, { "ruleName": "追蹤/退追使用者", "urlPattern": "https://x.com/.*", "selectorType": "css", "selector": "button[data-testid$='follow']", "nthElement": 1, "shortcut": "CapsLock+b", "ifLinkOpen": false, "isEnabled": true }, { "ruleName": "時間軸更新", "urlPattern": "https://x.com/.*", "selectorType": "css", "selector": "div[role='status'] button", "nthElement": 1, "shortcut": "CapsLock+z", "ifLinkOpen": false, "isEnabled": true }, { "ruleName": "導向貼文原po頁面", "urlPattern": "https://x.com/.*/status/[0-9]+.*", "selectorType": "css", "selector": "div[data-testid='Tweet-User-Avatar'] a", "nthElement": 1, "shortcut": "CapsLock+b", "ifLinkOpen": false, "isEnabled": true }, { "ruleName": "關閉貼文", "urlPattern": "https://x.com/.*/status/[0-9]*/photo/[0-9]*", "selectorType": "css", "selector": "div[role='presentation'] button", "nthElement": 1, "shortcut": "CapsLock+q", "ifLinkOpen": false, "isEnabled": true } ]; this.init(); } // 初始化Twitter快捷鍵 // 輸入參數: 無 // 返回值: void init() { this.addTwitterRules(); } // 新增Twitter規則(若規則尚未存在) // 輸入參數: 無 // 返回值: void addTwitterRules() { const existingRules = this.shortcutLib.getRules(); const hasTwitterRules = existingRules.some(rule => this.twitterRules.some(twitterRule => twitterRule.ruleName === rule.ruleName && twitterRule.urlPattern === rule.urlPattern && twitterRule.selector === rule.selector ) ); if (!hasTwitterRules) { this.twitterRules.forEach(rule => { const success = this.shortcutLib.addRule(rule); if (success) { console.log(`${GM_info.script.name}: 成功新增規則 "${rule.ruleName}"`); } }); } else { console.log(`${GM_info.script.name}: Twitter規則已存在,跳過新增`); } } } // 啟動Twitter快捷鍵 const twitterShortcuts = new TwitterShortcuts();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址