您需要先安装一个扩展,例如 篡改猴、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. Проверяем, удален ли пост. // Ищем элемент списка, содержащий "Status:", и проверяем, есть ли в нем слово "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 (!isDeleted) { console.log('e621 Deleted Opener: Пост не удален.'); return; } console.log('e621 Deleted Opener: Пост удален. Ищем источник...'); // 2. Находим все доступные ссылки на источники. const sourceLinkElements = document.querySelectorAll('li.source-links a'); if (sourceLinkElements.length === 0) { console.log('e621 Deleted Opener: Ссылки на источники не найдены.'); return; } const allSources = Array.from(sourceLinkElements).map(a => a.href); // 3. Отдаем приоритет источникам, не являющимся Inkbunny. let preferredSource = null; const nonInkbunnySources = allSources.filter(url => !url.includes('inkbunny.net')); if (nonInkbunnySources.length > 0) { // Найден хотя бы один источник, который не является Inkbunny. preferredSource = nonInkbunnySources[0]; console.log(`e621 Deleted Opener: Выбран источник, не являющийся Inkbunny: ${preferredSource}`); } else if (allSources.length > 0) { // Других источников нет, поэтому используем первую доступную ссылку. preferredSource = allSources[0]; console.log(`e621 Deleted Opener: Найден только источник Inkbunny (или другой). Используем: ${preferredSource}`); } // 4. Открываем выбранный источник в новой вкладке. if (preferredSource) { // Небольшая задержка, чтобы избежать проблем с блокировщиками всплывающих окон. setTimeout(() => { console.log(`e621 Deleted Opener: Открываем ${preferredSource} в новой вкладке.`); GM_openInTab(preferredSource, { active: true }); }, 500); } else { console.log('e621 Deleted Opener: Не удалось определить источник для открытия.'); } })();