您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Greasy Fork is available in English.
一款可以帮助您在洛谷轻松发送 QQ 表情信息的插件.
当前为
// ==UserScript== // @name LuoguEmojiSender // @namespace https://github.com/Maxmilite/LuoguEmojiSender // @version 1.3 // @description 一款可以帮助您在洛谷轻松发送 QQ 表情信息的插件. // @author Maxmilite // @match https://www.luogu.com.cn/* // @match http://www.luogu.com.cn/* // ==/UserScript== (function () { // -------------------------此处为用户修改配置区-------------------------------- // 此项定义前后缀功能,用于表情的识别,以默认配置为例 // 如果在此配置下,当且仅当输入的内容为大括号包裹的qq表情代码(即 "{/代码}")时才会进行替换操作。 // 当然,您可以直接将其设置为空字符串,来达到无缝衔接的效果 const prefix = "{", suffix = "}"; // 此处为用户个性化设置区,输入格式按照 JSON 格式输入 // 格式:" "表情代码": "", " // 请注意,如果不是最后一行,该行后必须添加逗号。 // 样例:" "/亲亲": ")", " const userElement = { } // -------------------------上方为用户修改配置区-------------------------------- // 1.1 更新内容: // 优化操作逻辑,增加用户配置区 // 1.2 更新内容: // 增加了更多的 QQ 图片,更改了图床 // 1.3 更新内容: // 进一步优化操作逻辑,修复了图片加载的一个BUG,现在可以无忧无虑使用无缝模式了 const replaceElement = { "/aini": "", "/aiq": "", "/am": "", "/azgc": "", "/baiy": "", "/bangbangt": "", "/banzz": "", "/baojin": "", "/bb": "", "/bkx": "", "/bl": "", "/bobo": "", "/bp": "", "/bq": "", "/bs": "", "/bt": "", "/bu": "", "/bz": "", "/cd": "", "/cengyiceng": "", "/cg": "", "/ch": "", "/chi": "", "/cj": "", "/cp": "", "/cs": "", "/cy": "", "/dan": "", "/dao": "", "/db": "", "/dg": "", "/dgg": "", "/dk": "", "/dl": "", "/doge": "", "/dx": "", "/dy": "", "/dz": "", "/ee": "", "/emm": "", "/fad": "", "/fade": "", "/fan": "", "/fd": "", "/fendou": "", "/fj": "", "/fn": "", "/fw": "", "/gg": "", "/gy": "", "/gz": "", "/hanx": "", "/haob": "", "/hb": "", "/hc": "", "/hd": "", "/hec": "", "/hhd": "", "/hn": "", "/hp": "", "/hq": "", "/hsh": "", "/ht": "", "/huaix": "", "/hx": "", "/jd": "", "/jh": "", "/jiaybb": "", "/jiaybs": "", "/jie": "", "/jk": "", "/jw": "", "/jx": "", "/ka": "", "/kb": "", "/kel": "", "/kf": "", "/kg": "", "/kk": "", "/kl": "", "/kt": "", "/kuk": "", "/kun": "", "/kzht": "", "/lb": "", "/lengh": "", "/lh": "", "/ll": "", "/lm": "", "/lq": "", "/lw": "", "/lyj": "", "/mdfq": "", "/mg": "", "/mm": "", "/ng": "", "/nkt": "", "/oh": "", "/oy": "", "/pch": "", "/pj": "", "/pp": "", "/pt": "", "/px": "", "/qd": "", "/qiang": "", "/qiao": "", "/qq": "", "/qt": "", "/ruo": "", "/sa": "", "/se": "", "/sh": "", "/shd": "", "/shl": "", "/shuai": "", "/shui": "", "/shxi": "", "/sr": "", "/tiao": "", "/tl": "", "/tnl": "", "/tp": "", "/ts": "", "/tsh": "", "/tt": "", "/tuu": "", "/tx": "", "/ty": "", "/tyt": "", "/wbk": "", "/whl": "", "/wl": "", "/wn": "", "/wosl": "", "/wq": "", "/ws": "", "/wul": "", "/wx": "", "/wzm": "", "/xhx": "", "/xia": "", "/xig": "", "/xin": "", "/xjj": "", "/xk": "", "/xs": "", "/xu": "", "/xw": "", "/xy": "", "/xyx": "", "/yao": "", "/yb": "", "/yhh": "", "/yiw": "", "/yl": "", "/youl": "", "/youtj": "", "/yt": "", "/yun": "", "/yx": "", "/zhd": "", "/zhem": "", "/zhh": "", "/zhm": "", "/zhq": "", "/zj": "", "/zk": "", "/zq": "", "/zt": "", "/zuotj": "" }; function main() { let stringTochange = new String, sourceString = new String, newString = new String; if (typeof markdownPalettes != "undefined") stringToChange = markdownPalettes.content, sourceString = markdownPalettes.content; else if (document.getElementById("feed-content") != null) stringToChange = document.getElementById("feed-content").value, sourceString = document.getElementById("feed-content").value; else return false; for (let i in replaceElement) { newString = prefix + i + suffix; stringToChange = stringToChange.replaceAll(newString, replaceElement[i]); } for (let i in userElement) { newString = prefix + i + suffix; stringToChange = stringToChange.replaceAll(newString, userElement[i]); } if (typeof markdownPalettes != "undefined") markdownPalettes.content = stringToChange; else if (document.getElementById("feed-content") != null) document.getElementById("feed-content").value = stringToChange; if (stringToChange == sourceString) return false; else return true; } // It seemed this function didn't work :( // To be fixed function moveEnd() { var move = jQuery.Event("keydown"); move.keyCode = 35; move.which = 35; $(window).trigger(move); } document.addEventListener("keydown", function () { if (main() == true) { moveEnd(); } }) document.addEventListener("click", function () { if (main() == true) { moveEnd(); } }) })();