您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Fav submissions without reloading the page
// ==UserScript== // @name FurAffinity - Seamless Fav // @namespace proot // @match https://www.furaffinity.net/* // @grant none // @version 1.0 // @author a proot // @license MIT // @description Fav submissions without reloading the page // ==/UserScript== let favURLMatcher = /https?:\/\/www\.furaffinity\.net\/(?:un)?fav\//; let favButtonMatcher = /\/(?:un)?fav\/[0-9]+/; let favTextMatcher = /href="(\/(?:un)?fav\/.*?)">(.*?)<\/a>/; function allFavButtons() { return [...document.getElementsByTagName("a")].filter(a => favButtonMatcher.exec(a.href)) } document.addEventListener("click", function (e) { e = e || window.event; let element = e.target || e.srcElement; if (element.tagName == 'A' && favURLMatcher.match(element.href)) { (async () => { allFavButtons().forEach(e => { // e.style.opacity = 0.5 e.style.setProperty('color', '#808080', 'important') e.style.pointerEvents = "none" }) let r = await fetch(element.href) let match = favTextMatcher.exec(await r.text()) allFavButtons().forEach(e => { // e.style.opacity = 1 e.style.color = "" e.style.pointerEvents = "" e.innerText = match[2].replace(" ", "") e.href = match[1] }) })() e.preventDefault() } })
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址