您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Добавить кнопки для скачивания изображений на сайте MidJourney
// ==UserScript== // @name MidJourney Image Downloader // @namespace http://tampermonkey.net/ // @version 0.6 // @description Добавить кнопки для скачивания изображений на сайте MidJourney // @author You // @match https://www.midjourney.com/* // @grant GM_download // @grant GM_addStyle // @license MIT // ==/UserScript== (function() { 'use strict'; // Добавление стилей для значков скачивания const style = ` .download-badge { position: absolute; top: 8px; right: 8px; background-color: rgba(0, 0, 0, 0.7); color: white; padding: 5px 10px; border-radius: 5px; cursor: pointer; z-index: 9999; } .download-badge:hover { background-color: rgba(0, 0, 0, 0.9); } `; GM_addStyle(style); // Функция для генерации ссылки на оригинальное изображение const getImageUrl = (src) => { let baseUrl = src.split("?")[0]; // Убираем параметры запроса baseUrl = baseUrl.replace("_640_N", ""); // Убираем _640_N return baseUrl.replace(".webp", ".png"); // Заменяем .webp на .png }; // Функция для создания значка скачивания const addDownloadBadge = (imgElement) => { if (imgElement.dataset.downloadBadge) return; // Проверка, чтобы не добавлять несколько раз const badge = document.createElement("div"); badge.className = "download-badge"; badge.innerText = "↓ Скачайте"; // Генерируем ссылку для скачивания const imgUrl = getImageUrl(imgElement.src); badge.addEventListener("click", (e) => { e.preventDefault(); e.stopPropagation(); // Используем GM_download для скачивания изображения GM_download({ url: imgUrl, // URL изображения name: imgUrl.split("/").pop(), // Название файла будет последней частью URL saveAs: true // Открывает диалоговое окно для выбора места сохранения }); }); imgElement.parentElement.style.position = 'relative'; // Чтобы значок был внутри контейнера imgElement.parentElement.appendChild(badge); // Добавляем значок на картинку imgElement.dataset.downloadBadge = true; // Помечаем изображение как с кнопкой скачивания }; // Функция для добавления значков на все изображения на странице const scanImages = () => { const images = document.querySelectorAll('img'); images.forEach(img => { if (img.src.includes("cdn.midjourney.com")) { addDownloadBadge(img); } }); }; // Инициализация сканирования изображений при загрузке страницы window.addEventListener('load', () => { scanImages(); }); // Наблюдатель для динамической загрузки изображений const observer = new MutationObserver(scanImages); observer.observe(document.body, { childList: true, subtree: true }); })();