您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Descarga imágenes completas de capítulos de manga desde Comic Earthstar asegurando compatibilidad y funcionalidad.
// ==UserScript== // @name Comic Earthstar Image Downloader Fix // @namespace shadows // @version 1.6.0 // @description Descarga imágenes completas de capítulos de manga desde Comic Earthstar asegurando compatibilidad y funcionalidad. // @author shadows // @license MIT // @match https://comic-earthstar.com/episode/* // @grant GM_download // ==/UserScript== "use strict"; (function () { // Crear un botón para la descarga const downloadButton = document.createElement("button"); downloadButton.textContent = "Descargar Imágenes"; downloadButton.style = ` position: fixed; top: 10px; right: 10px; z-index: 10000; background-color: #28a745; color: white; border: none; padding: 10px 20px; font-size: 14px; border-radius: 5px; cursor: pointer; `; document.body.appendChild(downloadButton); // Función principal para descargar imágenes downloadButton.addEventListener("click", async () => { // Seleccionar imágenes en el DOM const images = Array.from(document.querySelectorAll("img[src]")) .map(img => img.src) // Obtener la URL de cada imagen .filter(url => url.includes("cdn-img.comic-earthstar.com")); // Filtrar solo las imágenes del capítulo if (images.length === 0) { alert("No se encontraron imágenes para descargar."); return; } // Descargar cada imagen individualmente for (const [index, url] of images.entries()) { const fileName = `pagina_${String(index + 1).padStart(2, "0")}.png`; try { await downloadImage(url, fileName); console.log(`Descargada: ${fileName}`); } catch (err) { console.error(`Error al descargar ${fileName}:`, err); } } alert(`Se descargaron ${images.length} imágenes correctamente.`); }); // Función para descargar una imagen usando GM_download function downloadImage(url, fileName) { return new Promise((resolve, reject) => { GM_download({ url: url, name: fileName, headers: { Referer: window.location.href, // Encabezado para evitar bloqueos }, onload: () => resolve(), onerror: (err) => reject(err), }); }); } })();