177Viewer

添加三个按钮,免翻页查看整篇漫画,下载全部图片

// ==UserScript==
// @name         177Viewer
// @namespace    https://greasyfork.org/zh-CN/scripts/380478-177viewer
// @version      1.1
// @description  添加三个按钮,免翻页查看整篇漫画,下载全部图片
// @author       gfbxy
// @match        *://*.177pic.pw/html/*.html
// @match        *://*.177pic.info/html/*.html
// @match        *://*.177pic001.info/html/*.html
// @run-at       document-end
// @grant        GM_setClipboard
// ==/UserScript==

(function () {
    'use strict';

    var btnOne = $('<button style="padding:3px;color:#999;margin-right:5px" >动态加载</button>');
    var btnAll = $('<button style="padding:3px;color:#999;margin-right:5px" >加载全部</button>');
    var btnLoad = $('<button style="padding:3px;color:#fb9251;" >下载图片</button>');
    var config;
    var cookieIndex = document.cookie.indexOf('177viewer=')

    // 读取设置
    if (cookieIndex>-1) {
        config = document.cookie.slice(cookieIndex + 10, cookieIndex + 11);
        if (config == 1) {
            $(btnAll).css('color', '#ff6100');
        }
        else {
            $(btnOne).css('color', '#ff6100');
        }
    }
    else {
        document.cookie = '177viewer=0'
        config = 1;
        $(btnOne).css('color', '#ff6100');
    }

    // 重新设置并刷新
    $('.entry-title').after(btnOne, btnAll, btnLoad);
    $(btnOne).on('click', function () {
        document.cookie = '177viewer=0';
        location = location;
    });
    $(btnAll).on('click', function () {
        document.cookie = '177viewer=1';
        location = location;
    });


    //获取页面链接
    var a = $('div.page-links a');
    var href = [window.location.href];
    for (var i = 1; i < a.length - 1; i++) {
        href[i] = (a.eq(i).attr('href'));
    }
    console.log(href)
    var wait = 0;
    var pageIndex = 1;
    // 一次性加载
    if (config == 1) {
        loadImg(1, href.length);
    }
    // 动态加载
    else {
        // 滚动加载函数
        window.onload = function () {
            window.onscroll = function () {
                if (wait == 1 || pageIndex >= href.length) {
                    return;
                }
                wait = 1;
                setTimeout(function () {
                    wait = 0;
                }, 500);
                // 快滚到底了
                if ($(this).scrollTop() + $(this).height() + 1500 >= $(document).height()) {
                    loadImg(pageIndex, href.length);
                    pageIndex++;
                }
            };
        };
    }

    // 加载图片函数
    function loadImg(page, end) {
        if (page >= end) {
            return;
        }
        $('<div></div>').load(href[page] + ' .single-content', function () {
            $('.single-content').append($(this).children().children('p'));

            if (config == 1) {
                page++;
                loadImg(page, end);
            }
        });
    }


    // 下载按钮
    $(btnLoad).on('click', function () {
        var title = $("h1").text();
        title = title.replace(/\[|\]|\(|\)"/g, function (matchStr) {
            var tokenMap = {
                '(': '【',
                ')': '】',
                '[': '【',
                "]": '】'
            };
            return tokenMap[matchStr];
        });

        $.ajaxSetup({
            async: false
        });
        var doc = [];
        for (var l = 0; l < href.length; l++) {
            $.get(href[l], function (data) {
                doc[l] = new DOMParser().parseFromString(data, "text/html");
            });
        }
        var result = 'md "' + title + '"\r\n' + 'cd "' + title + '"\r\n';
        for (var i = 0, n = 0; i < doc.length; i++ , n = n + img.length) {
            var img = doc[i].querySelectorAll("noscript");
            for (var j = 0; j < img.length; j++) {
                if(img[j].firstChild.src){
                    result = result + "wget -O " + '"' + [n + j] + '.jpg" ' + img[j].firstChild.src + "\r\n";
                }
            }
        }
        result = result;
        GM_setClipboard(result);
        console.log(result)
        alert("已复制!在想保存的文件夹打开cmd,右键粘贴下载!");
    });
})();