一拳动漫

一拳动漫。

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name           一拳动漫
// @namespace      HuYu
// @version        2019.11.01
// @description    一拳动漫。
// @author         HuYu
// @match          *://www.1manhua.net/*
// @require http://libs.baidu.com/jquery/2.1.4/jquery.min.js
// ==/UserScript==

(function() {
	var newWindowHtmlOne = '<!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><title>整章观看</title><style type="text/css">.imgdiv{border:hidden;display:block}.imgdiv>img{vertical-align:text-bottom}.button{background:#eae0c2;background-image:-webkit-linear-gradient(top,#eae0c2,#ccc2a6);background-image:-moz-linear-gradient(top,#eae0c2,#ccc2a6);background-image:-ms-linear-gradient(top,#eae0c2,#ccc2a6);background-image:-o-linear-gradient(top,#eae0c2,#ccc2a6);background-image:linear-gradient(to bottom,#eae0c2,#ccc2a6);-webkit-border-radius:15;-moz-border-radius:15;border-radius:15px;text-shadow:0 1px 2px #fff;-webkit-box-shadow:0 1px 0 0 #1c1b18;-moz-box-shadow:0 1px 0 0 #1c1b18;box-shadow:0 1px 0 0 #1c1b18;font-family:Arial;color:#31312f;font-size:16px;padding:12px 30px 12px 30px;border:solid #333029 2px;text-decoration:none}.button:hover{color:#31312f;background:#ccc2a6;text-decoration:none}</style></head><body style="text-align:center"><div><div class="button">第<span>1</span>种</div><div class="button">第<span>2</span>种</div></div><div id="imgContainer"style="width:80%;margin:0 auto">';
    var newWindowHtmlTwo = '</div></body></html>';

    var bindClickFunc = function()
	{
		var itemAs = $(".cVolList .cVolUl .l_s");
		itemAs.click(function(e){
            e.preventDefault();
			var href = $(this).prop("href");
			var baseUrl = href;

			//获取原始页信息,解析总页数
			var originalHtmlString = getOriginalHtml(href);
			var originalHtml = $(originalHtmlString);
			var totalNumber = getTotalNumer(originalHtml);
            var hdDomain = getHdDomain(originalHtml);

			//获取页面的图片地址
			var srcArr = getImageSrcArr(totalNumber, baseUrl);

			var imageHtmlString = getImageHtmlString(srcArr, hdDomain);

			//打开一个窗口
			var newWindow=window.open('', '_blank');
			var newDocument = newWindow.document;

            newDocument.write(newWindowHtmlOne+imageHtmlString+newWindowHtmlTwo);
			newDocument.close();
            newWindow.focus();

            return false;
		});
	}

	/**
	 * 获取text原始页面
	 * @param  地址
	 * @return html
	 */
	var getOriginalHtml = function(hrefString){
		var htmlString = $.ajax({
			url: hrefString,
			type: "get",
  			async: false
 		}).responseText;

 		return htmlString;
	}

	/**
	 * 从html中获取总页数
	 * @param  html的页面
	 * @return 总页数
	 */
	var getTotalNumer = function(originalHtml){
		var totalNumber = $("#hdPageCount",originalHtml).val();
		return parseInt(totalNumber);
	}

    var getHdDomain = function(originalHtml){
		var hdDomainString = $("#hdDomain",originalHtml).val();
        var hdDomains = hdDomainString.split("|");
		return hdDomains[1];
	}

	/**
	 * 获取图片地址
	 * @param  {[type]} originalHtml [description]
	 * @return {[type]}              [description]
	 */
	var getImgSrc = function(originalHtml){
		var imgSrc = $("#hdNextImg",originalHtml).prev("img").prop("name");
		return imgSrc;
	}

	/**
	 * 获取图片地址数组
	 * @param  {[type]} totalNumber [description]
	 * @param  {[type]} baseUrl     [description]
	 * @param  {[type]} srcArr      [description]
	 * @return {[type]}             [description]
	 */
	var getImageSrcArr = function(totalNumber, baseUrl){
        var srcArr = new Array();
		for(var i = 1; i <= totalNumber; i++){
			var url = baseUrl.replace("1.html", i+".html");
			var originalHtmlString = getOriginalHtml(url);
			srcArr.push(getImgSrc($(originalHtmlString)));
    	}

    	return srcArr;
	}

	/**
	 * 构造image的div
	 * @param  {[type]} srcArr [description]
	 * @return {[type]}        [description]
	 */
	var getImageHtmlString = function(srcArr, hdDomain){
		var imageHtmlString = "";
		$.each( srcArr, function(i, n){
			imageHtmlString += "<div class=\"imgdiv\"><img src=\""+hdDomain+unsuan(n)+"\"></div>";
		});
		return imageHtmlString;
	}

    function unsuan(s) {
        var sw = "hhmmoo.com|hhssee.com|hhaauu.com|hheehh.com|hheess.com|125084.com|aaxxee.com|jojohh.com|aannhh.com|yiquanmh.com|1manhua.net";
        var su = location.hostname.toLowerCase();
        var b = false;
        for (var i = 0; i < sw.split("|").length; i++) {
            if (su.indexOf(sw.split("|")[i]) > -1) {
                b = true;
                break
            }
        }
        if (!b) return "";
        //x s的最后一位
        var x = s.substring(s.length - 1);
        var w = "abcdefghijklmnopqrstuvwxyz";
        //xi 字母中的排序
        var  xi = w.indexOf(x) + 1;
        var sk = s.substring(s.length - xi - 12, s.length - xi - 1);
        s = s.substring(0, s.length - xi - 12);
        var k = sk.substring(0, sk.length - 1);
        var f = sk.substring(sk.length - 1);
        for (i = 0; i < k.length; i++) {
            eval("s=s.replace(/" + k.substring(i, i + 1) + "/g,'" + i + "')")
        }
        var ss = s.split(f);
        s = "";
        for (i = 0; i < ss.length; i++) {
            s += String.fromCharCode(ss[i])
        }
        return s
    }

    bindClickFunc();
})();