Greasy Fork

Greasy Fork is available in English.

百度批量离线

批量离线辅助脚本

目前为 2016-09-23 提交的版本,查看 最新版本

// ==UserScript==
// @name         百度批量离线
// @namespace    http://greasyfork.icu/users/63665
// @version      0.2
// @description  批量离线辅助脚本
// @author       fenghengzhi
// @match        http://pan.baidu.com/disk/*
// @match        http://yun.baidu.com/disk/*
// @grant        none
// @run-at      document-end
// @note        v0.2 好用多了,就是有点难看
// @require     https://code.jquery.com/jquery-3.1.0.min.js
// ==/UserScript==
var urls;
var i;
function add_multi_button(){
    if($("#offlinelist-dialog").css("display")!="block") return setTimeout(arguments.callee,100);
    $("#offlinelist-dialog").find(".dialog-control").children().click();
    var a=$("#_disk_id_2");
    var b=a.clone();
    b.find(".text").text("批量离线");
    b.attr('id','multi_download');
    b.click(function(){
        urls=prompt("请输入下载链接,用英文逗号隔开").split(",");
        Multi_offline();
    });
    a.after(b);
}
function wait_page_complete(){
    $("span:contains('离线下载')[class='text']").click();
    add_multi_button();
}
(function() {
    'use strict';
    setTimeout(wait_page_complete,1000);
    // Your code here...
})();


window.Multi_offline=function(urls){
    $('#_disk_id_2').click();
    i=0;
    offline_download();
};
function offline_download(){
    $("#_disk_id_2").click();//点击新建按钮
    wait_newoffline_dialog();
}
function wait_newoffline_dialog(){//等待新建窗口
    if($("#newoffline-dialog").css("display")!="block") return setTimeout(arguments.callee,1000);
    $("#share-offline-link").val(urls[i]);
    $("#newoffline-dialog").find("span:contains('确定')[class='text']").click();//确定按钮
    check_code();
}

function check_code(){
    if($("#offlinelist-dialog").css("display")!="block" && $("#dialog1").css("display")!="block") return setTimeout(arguments.callee,100);
    if($("#dialog1").css("display")=="block"){//弹出验证码
        wait_checkcode_input();
    }
    else  wait_complete();//没有弹出验证码
}
function wait_checkcode_input(){
    $("#dialog1").find(".input-code").focus();
    if($("#dialog1").find(".input-code").val().length!=4) return setTimeout(arguments.callee,100);
    $("#dialog1").find("span:contains('确定')[class='text']").click();
    check_verify();
}
function wait_complete(){
    if($("#offlinelist-dialog").css("display")!="block") return setTimeout(arguments.callee,1000);
    i++;
    if(i>=urls.length) return;//批量下载完成,脚本结束
    else offline_download();
}