Greasy Fork

Save Comic as HTML

15 second delay waiting for array to populate you can scroll down and click the dowload button also

目前为 2023-08-12 提交的版本。查看 最新版本

// ==UserScript==
// @name         Save Comic as HTML
// @version      0.1
// @description  15 second delay waiting for array to populate you can scroll down and click the dowload button also
// @author       Bambi
// @match        https://readcomiconline.li/Comic/*
// @grant        none
// @license MIT
// @namespace https://greasyfork.org/users/1089343
// ==/UserScript==

(function() {
    'use strict';
    setTimeout(function() {
        var lstImagesLoaded = window.lstImagesLoaded || [];
        var urlParts = window.location.href.split('/');
        var comicName = urlParts[urlParts.length - 2];
        var issueName = urlParts[urlParts.length - 1].split('?')[0];
        var filename = comicName + issueName + '.html';
        var jsonContent = JSON.stringify(lstImagesLoaded);
        var htmlContent = `
        <!DOCTYPE html>
        <html lang="en">
        <head>
            <meta charset="UTF-8">
            <meta name="viewport" content="width=device-width, initial-scale=1.0">
            <title>Image Viewer</title>
        </head>
        <body>
            <h1>Image Viewer</h1>
            <div id="imageContainer"></div>

            <script>
                var lstImagesLoaded = ${jsonContent};
                var imageContainer = document.getElementById('imageContainer');

                for (var i = 0; i < lstImagesLoaded.length; i++) {
                    var imageLink = lstImagesLoaded[i];
                    var imgElement = document.createElement('img');
                    imgElement.src = imageLink;
                    imgElement.style.width = '50%';
                    imgElement.style.height = 'auto';
                    imgElement.style.marginLeft = '170px';
                    imageContainer.appendChild(imgElement);
                    imageContainer.appendChild(document.createElement('br'));
                }
            </script>
        </body>
        </html>
        `;


        var htmlBlob = new Blob([htmlContent], { type: 'text/html' });
        var downloadLink = document.createElement('a');
        downloadLink.href = URL.createObjectURL(htmlBlob);
        downloadLink.download = filename;
        document.body.appendChild(downloadLink);
        downloadLink.click();
    }, 15000);
})();