您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
zimuku明细页直接显示下载地址
- // ==UserScript==
- // @name zimuku
- // @namespace http://tampermonkey.net/
- // @version 3.11
- // @description zimuku明细页直接显示下载地址
- // @author backrock12
- // @match *zmk.pw/*
- // @include /.*zimuku\..*\/.*/
- // @require http://libs.baidu.com/jquery/2.0.0/jquery.min.js
- // @grant GM_xmlhttpRequest
- // @grant GM_download
- // @license MIT
- // ==/UserScript==
- (function () {
- "use strict";
- async function gethtml(url) {
- return new Promise((resolve, reject) => {
- GM_xmlhttpRequest({
- url: url,
- method: "GET",
- onload: function (response) {
- resolve(response.responseText);
- },
- });
- });
- }
- async function showurl() {
- let lhref = location.href;
- lhref = lhref.replace("/detail/", "/dld/");
- const htmltxt = await gethtml(lhref);
- if (!htmltxt) return;
- let doc = $("<html></html>");
- doc.html(htmltxt);
- let td = doc.find(".col-xs-12 td:nth-child(1) div");
- //console.log(td);
- const subinfo = $(".subinfo");
- subinfo.append(td);
- }
- function noad() {
- function subnoad(csspath) {
- const ad1 = $(csspath);
- if (csspath.length > 0) ad1.css("display", "none");
- }
- subnoad(".table");
- subnoad("div.tbhd");
- subnoad("font[color=#ca6445]");
- subnoad(".rside");
- subnoad(".rater-click-tips");
- subnoad(".rater-star-item-tips");
- }
- async function subdown(url) {
- url = url.replace("/detail/", "/dld/");
- const htmltxt = await gethtml(url);
- if (!htmltxt) return;
- let doc = $("<html></html>");
- doc.html(htmltxt);
- let td = doc.find(".down ul li a");
- if (td.length == 0) {
- alert("获取下载页失败");
- }
- const durl = td[0].href;
- td[0].click();
- console.log(durl);
- return;
- GM_xmlhttpRequest({
- url: durl,
- method: "GET",
- onload: function (response) {
- console.log(response.finalUrl);
- },
- });
- return;
- GM_download({
- url: durl,
- name: "name",
- onerror: (error) => {
- console.log(url);
- console.log(error);
- alert("下载失败");
- },
- });
- }
- function showtable() {
- var ischeckbox = false;
- //const alist = $("#subtb td.first a");
- const alist = $("table td.first > a");
- alist.each((i, e) => {
- if (e.getAttribute("SHOWTABLE") == "true") {
- return;
- }
- e.setAttribute("SHOWTABLE", "true");
- console.log(e.href);
- const td = document.createElement("td");
- const button = document.createElement("button");
- button.id = "TALLDownBtnpage";
- button.textContent = "下载";
- button.className = "btn btn-md btn-default btn-sm";
- button.onclick = () => {
- subdown(e.href);
- };
- td.append(button);
- e.parentNode.parentNode.append(td);
- //---------------------
- //insertcheckbox(e, i);
- });
- function insertcheckbox(e, i) {
- function alldown() {
- const list = $("input[type='checkbox']:checked");
- //console.log(list);
- list.each(async (i, e) => {
- const vurl = $(e).attr("value");
- if (vurl) {
- await subdown(vurl);
- }
- });
- }
- if (!ischeckbox) {
- $("th.first").before(
- "<td> <input style='width: 25px;height: 17px;' type='checkbox' id='allcheck' class='checkbox' /></td>"
- );
- const allbutton = document.createElement("button");
- allbutton.id = "TALLDownBtnpage";
- allbutton.textContent = "下载";
- allbutton.className = "btn btn-md btn-default btn-sm";
- allbutton.onclick = alldown;
- $("th.first").append(allbutton);
- $("#subtb thead > tr").append(
- "<td> <input style='width: 25px;height: 17px;' type='checkbox' id='allcheck' class='checkbox' /></td>"
- );
- $("#allcheck").click(function () {
- $("input[type='checkbox']").attr("checked", $(this).prop("checked"));
- });
- ischeckbox = true;
- }
- const td2 = document.createElement("td");
- const check = document.createElement("input");
- check.setAttribute("type", "checkbox");
- check.setAttribute("id", "mayi");
- $(td2).append(
- "<input style='width: 25px;height: 17px;' type='checkbox' id='downcheck' class='checkbox' value='" +
- e.href +
- "' name='" +
- i +
- "'/>"
- );
- $(e).parent().before(td2);
- }
- }
- function addtable() {}
- function start() {
- if (/subs\/.*/.test(location.href)) {
- console.log("002");
- // noad();
- showtable();
- } else if (/detail\/.*/.test(location.href)) {
- console.log("003");
- noad();
- showurl();
- }else
- {
- console.log("001");
- showtable();
- }
- }
- start();
- })();