您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Press hotkey "x" to unfavorite gelbooru post
// ==UserScript== // @name Gelbooru X to unfavorite // @namespace http://tampermonkey.net/ // @version 2025-04-30 // @description Press hotkey "x" to unfavorite gelbooru post // @author rainbrain // @icon data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== // @grant none // @match https://gelbooru.com/* // @license MIT // ==/UserScript== var isKeyPressed = { x: false, // ASCII code for 'a' // ... Other keys to check for custom key combinations }; document.body.addEventListener( "mousemove", ({ target }) => { if (target.parentNode.nodeName !== "A") return; window.lastHoveredLink = target.parentNode.href; }, false ); function getid(u) { const urlParams = new URLSearchParams(u); const postid = urlParams.get("id"); return postid; } function delFav(id) { // opposite action: unfavorite if (!id) return; fetch(`/index.php?page=favorites&s=delete&id=${id}`, { credentials: "include" }); } document.onkeydown = (keyDownEvent) => { isKeyPressed[keyDownEvent.key] = true; if (isKeyPressed["x"]) { const queryString = window.location.search; let postid = getid(queryString); if (postid == null) { postid = getid(window.lastHoveredLink); } delFav(postid); } };