XClient 下载链接自动提取

XClient

目前為 2016-07-04 提交的版本,檢視 最新版本

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @name         XClient 下载链接自动提取
// @namespace    http://www.fishlee.net/
// @version      0.1
// @description  XClient
// @author       You
// @match        http://xclient.info/*
// @grant        unsafeWindow
// ==/UserScript==
/* jshint -W097 */
'use strict';
 
(function() {
    var win = this;
    var arr = Array.prototype.slice.call(document.querySelectorAll("a.btn-download[data-token]"));
    var callback = function() {
        if (!arr.length) return;
        var obj = arr.pop();
        win.$.post("/action/service?do=download", {
            token: obj.dataset.token
        }).done(function(data) {
            if (data.msg === "success" && data.data && data.data.pf === "baidu") {
                obj.setAttribute("href", data.data.url + "#" + data.data.key);
                obj.innerText = "百度网盘直链";
            }
 
            //解绑click事件,阻止页面继续弹浮窗
            win.$(obj).off("click");
            //洁癖治疗,清理无效的data-token
            obj.removeAttribute("data-token");
            //设置新窗口打开
            obj.setAttribute("target", "_blank");
        }).always(function () {
            //不管成功还是失败,等待500毫秒后处理下一个
            setTimeout(callback, 500);
        });
    };
    callback();
}).call(unsafeWindow);