您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Adds an "Index" button on post pages, allowing you to return to a search starting from the ID of the current post you're on
当前为
// ==UserScript== // @name Gelbooru "Index" Button // @namespace https://gelbooru.com/ // @version 1.0 // @description Adds an "Index" button on post pages, allowing you to return to a search starting from the ID of the current post you're on // @match https://gelbooru.com/index.php?page=post&s=view* // @icon https://gelbooru.com/favicon.ico // @grant none // @license MIT // ==/UserScript== (function() { 'use strict'; if (location.hostname !== 'gelbooru.com') return; const url = new URL(window.location.href); const urlParams = url.searchParams; const currentId = urlParams.get('id'); if (!currentId) return; // If no post ID, do nothing urlParams.delete('id'); urlParams.set('s', 'list'); const rawTags = urlParams.get('tags') || ''; let decodedTags = decodeURIComponent(rawTags); const newIdSearch = 'id:=<' + currentId; const idSearchRegex = /id:=<\d+/i; if (idSearchRegex.test(decodedTags)) { decodedTags = decodedTags.replace(idSearchRegex, newIdSearch); } else { decodedTags = decodedTags.trim(); if (decodedTags) decodedTags += ' '; decodedTags += newIdSearch; } urlParams.set('tags', decodedTags.trim()); const finalUrl = `${url.origin}${url.pathname}?${urlParams.toString()}`; const box = document.createElement('div'); box.className = 'alert alert-info'; box.style.textAlign = 'center'; box.style.margin = '10px 0px'; box.style.padding = '10px'; const indexLink = document.createElement('a'); indexLink.textContent = 'Index'; indexLink.href = finalUrl; box.appendChild(indexLink); const navContainers = document.querySelectorAll('.alert.alert-info'); if (navContainers.length > 0) { navContainers[navContainers.length - 1].insertAdjacentElement('afterend', box); } else { const mainBody = document.querySelector('.mainBodyPadding'); if (mainBody) mainBody.appendChild(box); } })();