Sleazy Fork is available in English.

MrCong全量加載

mrCong全量加載,啦啦啦

La data de 17-09-2022. Vezi ultima versiune.

// ==UserScript==
// @name         MrCong全量加載
// @namespace    http://tampermonkey.net/
// @version      2.0
// @description  mrCong全量加載,啦啦啦
// @author       LARA_SSR
// @match        https://mrcong.com/*/
// @exclude      https://mrcong.com/tag/*
// @exclude      https://mrcong.com/category/*
// @exclude      https://mrcong.com/sets/*
// @exclude      https://mrcong.com/top*/*
// @exclude      https://mrcong.com/tim-kiem/*
// @icon         data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
// @grant        none
// @license      MIT
// @require      https://cdn.staticfile.org/jquery/3.6.0/jquery.min.js
// ==/UserScript==

console.clear();

(function () {
  "use strict";
  let id = setInterval(async function () {
    if (Fancybox4) {
      //打印开关
      debugger;
      isDebug = false;
      log("Fancybox4 --- isActive!\n");
      clearInterval(id);
      if (os.isAndroid || os.isPhone) {
        //判断是否Android或Phone
        addStyle(fancyBoxCss);
        let open = "Default";
        let fancyboxFullJsLocate = `let slideIndex=0;Fancybox4.bind("[data-fancybox='images']",{Toolbar:false,animated:false,dragToClose:false,showClass:false,hideClass:false,closeButton:"top",Image:{click:"close",wheel:"slide",zoom:false,fit:"cover"},Thumbs:{minScreenHeight:0},on:{done:(fancybox,slide)=>{slideIndex=fancybox.getSlide().index;log("#"+fancybox.getSlide().index+"slide is loaded!")},destroy:(fancybox,slide)=>{log("#"+slideIndex+"slide is closed!");document.getElementById("imgLocation"+slideIndex).scrollIntoView({block:"center",behavior:"smooth",inline:"center"})}}});`;
        let fancyboxDefaultJsLocate = `let slideIndex=0;Fancybox4.bind("[data-fancybox='images']",{Thumbs:{Carousel:{fill:false,center:true}},on:{done:(fancybox,slide)=>{slideIndex=fancybox.getSlide().index;log("#"+fancybox.getSlide().index+"slide is loaded!")},destroy:(fancybox,slide)=>{log("#"+slideIndex+"slide is closed!");document.getElementById("imgLocation"+slideIndex).scrollIntoView({block:"center",behavior:"smooth",inline:"center"})}}});`;
        
        switch (open) {
          case "Fullscreen":
            addStyle(fancyBoxCssAdditon);
            addScript(fancyboxFullJsLocate);
            break;
          case "Default":
            addStyle(`a[data-fancybox] img{cursor:zoom-in;}`);
            addScript(fancyboxDefaultJsLocate);
            break;
        }
        //获取页数
        let paginationClass = "div .page-link";
        let length = 0;
        let paginationExist = false;
        $(paginationClass).each(function () {
          if (paginationExist == true) {
            return false;
          }
          length = $(this).find("a").length;
          paginationExist = true;
          //console.log(linkArr);
          console.log("页数:" + length);
        });

        //标题
        addStyle(
          `.postTagHrefs{padding-bottom:10px}.postTagHrefs,.titleHrefs{color:#fffaf0;word-break:break-all}#title_info{color:pink;border:1px solid transparent;border-bottom-color:pink}#separate{color:#fff}#downHref>a{color:pink;border:1px solid transparent;border-bottom-color:#815c94}.postTagHrefs>div,.titleHrefs>div{display:inline-block}#spanitem,#spanitemdiv{color:#fffaf0}`
        );
        let header = $("<div class = titleHrefs></div>");
        let footer = $("<div class = postTagHrefs></div>");

        await new Promise(function (resolve) {
          $("#crumbs a").each(function () {
            let title = $(this).attr("id", "title_info");
            header.append(title);
            let p3 = $("<div id = separate>\xa0/\xa0</div>");
            header.append(p3);
          });
          $(".post-tag a").each(function () {
            let hrefDiv = $("<div class = hrefDiv></div>");
            let title = $(this).attr("id", "title_info");
            hrefDiv.append(title);
            footer.append(hrefDiv);
            let p3 = $("<div id = separate>\xa0/\xa0</div>");
            footer.append(p3);
          });
          resolve();
        });

        let password = $("strong+input[value]").attr("value");
        console.log("Password: " + password);

        let patt = /(?<=Dung lượng: )(\d+|([1-9]\d*\.?\d+))[A-Za-z]*(B|b)/g;
        let inerBoxStr = $(".box-inner-block").text();
        let imgSize = inerBoxStr.match(patt)[0];
        console.log(imgSize);
        let p3;
        $("p[style] a").each(function (index, value) {
          let download = $("<a>图片下载</a>")
            .attr("href", $(this)[0].href)
            .text(`图片下载链接[ ${index + 1} ]`);
          download.css({
            "color": "pink",
            "border": "1px solid transparent",
            "border-bottom-color": "#815c94"
          });
          header.append(download);
          p3 = $("<div id = separate>\xa0/\xa0</div>");
          download.after(p3);
        });
        let spanItem = $("span[itemprop]").text();
        let divTR = `解压密码:(${password})<div id = separate>\xa0/\xa0</div>图片大小:(${imgSize})<div id = separate>\xa0/\xa0</div>${spanItem}`;

        header.append(divTR);

        /* font-family: -apple-system,BlinkMacSystemFont,Tahoma,Arial,"Hiragino Sans GB","Microsoft YaHei",sans-serif; */
        addStyle(
          `ul li{list-style-type:none}body{display:block;margin:8px;background:#27282d;font-family:fantasy,sans-serif}#viewer{margin:0;padding:0}.imgbox{position:relative;overflow:hidden;box-sizing:border-box;width:100%}.imgnum{position:absolute;top:6px;left:6px;z-index:100;padding:0 6px;border-radius:2px;background:#17a1ff;background:rgba(23,161,255,.5);color:#f9f9f9}.imgs{float:left;width:100%}`
        );

        //remove ad
        setInterval(function () {
          $("#viewer").prevAll().remove();
          $("#Autopage_number").remove();
        }, 100);

        $("body").empty();
        let i = 1;
        let str3 = self.location.href;
        let newStr = str3.replace(/-anh.+/g, "");
        let link = "";
        let viewer2 = $('<ul id ="viewer"></ul>');
        $("body").append(viewer2);
        viewer2.append(header);
        let n = 0;
        do {
          link = newStr + "-anh/" + i;
          let data = await Get(link);

          let image = $(".content img", data);
          image.each(function (index, item) {
            n++;
            let imgli = $('<li class = "imgbox"></li>');
            let imageItem =
              '<a data-fancybox="images" href="' +
              $(this)[0].src +
              '"><img class="imgs" src="' +
              $(this)[0].src +
              `"id="imgLocation${n-1}` +
              '" ></a>';

            //序号
            let stringNum = "<div class = 'imgnum'>{imgnum}</div>";
            let newStringNum = stringNum.replace("{imgnum}", `${n}`);
            imgli = imgli.prepend($(newStringNum));

            imgli = imgli.append(imageItem);
            viewer2.append(imgli);
          });

          i = i + 1;
          if (i === length + 2) {
            $(document).ready(function () {
              $("#viewer").after(footer);
            });
          }
        } while (i < length + 2);

        let imgCount = $("#viewer img").length;
        console.log("imgCount: " + imgCount);

        $(".imgnum").each(function (index, value) {
          if (index < imgCount) {
            // console.log($(this));
            $(this).text(`[${index + 1}/${imgCount}]`);
          } else {
            return false;
          }
        });

        //删除标题最后一个"/"
        $(document).ready(function () {
          // $(".titleHrefs div").eq(-1).remove();
          $(".postTagHrefs #separate").eq(-1).remove();
        });
      }
    }
  }, 100);
})();