// ==UserScript== // @name 嗅探下载组合包 // @namespace https://facaikotei.github.io/ // @version 1.1 // @description 脚本整合 // @author (c)2025 facaikotei // @match *://*/* // @grant GM_addElement // @grant GM_addStyle // @grant GM_setValue // @grant GM_getValue // @require https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js // @require https://unpkg.com/hotkeys-js@3.9.4/dist/hotkeys.min.js // @license GPL-3.0 // @homepageURL https://greasyfork.org/scripts/529908 // @downloadURL none // ==/UserScript== (function () { 'use strict'; // 处理传的key字符串转换成数组 (c)2022 jaywcjlove (c)2013 madrobby function getKeys(key) { if (typeof key !== 'string') key = ''; key = key.replace(/\s/g, ''); // 匹配任何空白字符,包括空格、制表符、换页符等等 const keys = key.split(','); // 同时设置多个快捷键,以','分割 let index = keys.lastIndexOf(''); // 快捷键可能包含',',需特殊处理 for (; index >= 0;) { keys[index - 1] += ','; keys.splice(index, 1); index = keys.lastIndexOf(''); } return keys; } // 返回键码 (c)2022 jaywclove (c)2013 madrobby const code = x => hotkeys.keyMap[x.toLowerCase()] || hotkeys.modifier[x.toLowerCase()] || x.toUpperCase().charCodeAt(0); $(function () { $(".MyBT").append("
图片
图片
"); GM_addStyle(".MyBT>div>div{width:150px;}"); $("#MyImage").on("click", function () { let shortCutString = GM_getValue("shortCutString") || 'alt+W'; let keyCode; let shiftKey = false; let ctrlKey = false; let altKey = false; let metaKey = false; getKeys(shortCutString)[0].split('+').forEach((x) => { x = code(x); switch (x) { case 16: shiftKey = true; break; case 17: ctrlKey = true; break; case 18: altKey = true; break; case 91: metaKey = true; break; case '*': keyCode = 87; shiftKey = false; ctrlKey = false; altKey = true; metaKey = false; break; default: keyCode = x; break; } }); document.dispatchEvent(new KeyboardEvent("keydown", { keyCode: keyCode, shiftKey: shiftKey, ctrlKey: ctrlKey, altKey: altKey, metaKey: metaKey })); }); $("body").on("change", ".shortCutString", () => { GM_setValue("shortCutString", $(".shortCutString").val()); }); }); })();