您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
If an e621 post has "status: deleted", this script opens the source URL in a new tab, prioritizing sources other than Inkbunny.
当前为
// ==UserScript== // @name e621 Deleted Post Source Opener // @namespace http://tampermonkey.net/ // @version 1.0 // @description If an e621 post has "status: deleted", this script opens the source URL in a new tab, prioritizing sources other than Inkbunny. // @author Gemini // @match https://e621.net/posts/* // @grant GM_openInTab // @run-at document-idle // ==/UserScript== (function() { 'use strict'; // 1. Check if the post is deleted. // Search for the list item containing "Status:" and check if it includes the word "Deleted". const infoListItems = document.querySelectorAll('#post-information ul li'); let isDeleted = false; infoListItems.forEach(li => { const text = li.innerText.trim(); if (text.startsWith('Status:') && text.includes('Deleted')) { isDeleted = true; } }); // If the post is not deleted, do nothing. if (!isDeleted) { console.log('e621 Deleted Opener: Post not deleted.'); return; } console.log('e621 Deleted Opener: Post is deleted. Searching for source...'); // 2. Find all available source links. const sourceLinkElements = document.querySelectorAll('li.source-links a'); if (sourceLinkElements.length === 0) { console.log('e621 Deleted Opener: Source links not found.'); return; } const allSources = Array.from(sourceLinkElements).map(a => a.href); // 3. Prioritize sources that are not Inkbunny. let preferredSource = null; const nonInkbunnySources = allSources.filter(url => !url.includes('inkbunny.net')); if (nonInkbunnySources.length > 0) { // Found at least one source that is not Inkbunny. preferredSource = nonInkbunnySources[0]; console.log(`e621 Deleted Opener: Selected a non-Inkbunny source: ${preferredSource}`); } else if (allSources.length > 0) { // No other sources found, so use the first available link. preferredSource = allSources[0]; console.log(`e621 Deleted Opener: Only an Inkbunny (or other) source was found. Using: ${preferredSource}`); } // 4. Open the selected source in a new tab. if (preferredSource) { // A short delay to avoid issues with pop-up blockers. setTimeout(() => { console.log(`e621 Deleted Opener: Opening ${preferredSource} in a new tab.`); GM_openInTab(preferredSource, { active: true }); }, 500); } else { console.log('e621 Deleted Opener: Could not determine a source to open.'); } })();