您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Fix broken Discord channel/thread/message devmode "Copy ID" buttons in Firefox.
当前为
// ==UserScript== // @name Discord Devmode Copy ID Fix (Firefox) // @description Fix broken Discord channel/thread/message devmode "Copy ID" buttons in Firefox. // @author You // @version 0.2 // @namespace https://gf.qytechs.cn/users/1376767 // @match https://discord.com/* // @grant GM_setClipboard // ==/UserScript== (function() { 'use strict'; function addClickEventCopyId(node) { const match = node.id.match(/(\d+)$/); // id="channel-context-devmode-copy-id-123456" > extract end digits if (match) { const channelId = match[1]; node.addEventListener( 'click', function(event) { GM_setClipboard(channelId); }, { once: true } ); } } const observer = new MutationObserver(mutations => { mutations.forEach(mutation => { mutation.addedNodes.forEach(node => { if (node.nodeType === Node.ELEMENT_NODE) { // console.log(node); // Right click popup menu identifiable by <div class="clickTrapContainer_ trapClicks_"> if (node.className && /clickTrapContainer_.*trapClicks_/.test(node.className)) { const menu = node; menu.querySelectorAll('[role="menuitem"][id*="-devmode-copy-id-"]').forEach(menuItem => { setTimeout(() => addClickEventCopyId(menuItem), 100); }); // menu.querySelectorAll('[role="menuitem"]').forEach(menuItem => { // console.log(menuItem) // }); } }});}); }); observer.observe(document.body, { childList: true, subtree: true }); })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址