Greasy Fork

Greasy Fork is available in English.

阿里云批量下载 - aliyundrive.com

2021/5/4上午1:18:39 - 使用前需要将 Chrome 设置为无需询问下载地址

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name        阿里云批量下载 - aliyundrive.com
// @namespace   Violentmonkey Scripts
// @match       https://www.aliyundrive.com/drive/folder/*
// @grant       none
// @version     1.1
// @author      菜饼不菜
// @description 2021/5/4上午1:18:39 - 使用前需要将 Chrome 设置为无需询问下载地址
// @require     http://code.jquery.com/jquery-1.11.0.min.js
// ==/UserScript==



(function () {
    'use strict';
    console.log('启动脚本....');
    $(document).ready(function () {
        console.log('ready...');

        // 引入 jQuery CSS 正则获取
        jQuery.expr[':'].regex = function (elem, index, match) {
            var matchParams = match[3].split(','),
                validLabels = /^(data|css):/,
                attr = {
                    method: matchParams[0].match(validLabels) ?
                        matchParams[0].split(':')[0] : 'attr',
                    property: matchParams.shift().replace(validLabels, '')
                },
                regexFlags = 'ig',
                regex = new RegExp(matchParams.join('').replace(/^\s+|\s+$/g, ''), regexFlags);
            return regex.test(jQuery(elem)[attr.method](attr.property));
        };


        let scriptStr = `
            <script>
              function clickDownload() {
                var childs = $('div:regex(class,tbody*)').children();
                for (let i = 0; i < childs.length; i++) {
                    const element = childs[i];
                    setTimeout(() => {
                        let child = $(element).find("div:regex(class,action-wrapper*)")[0]
                        $(child).children()[0].click()
                        var nodes = $('div:regex(class,dropdown-menu*)');

                        nodes.each((index, element) => {
                            let list = Array.prototype.slice.call(element.classList)
                            if (list.indexOf("ant-dropdown-hidden") === -1) {
                                // 下载
                                $(element).find("div:regex(class,menu-wrapper*)")[0].click()
                                // 隐藏前面打开的样式
                                setTimeout(() => {
                                    $(element).addClass("ant-dropdown-hidden")
                                }, 200);
                            }
                        });
                    }, i * 1000);
                }
              };
            </script>
          `;
        $(scriptStr).appendTo("body");

        // --------------------------
        // test
        // var childs = $('div:regex(class,tbody*)').children();
        // var child = $(childs[0]).find("div:regex(class,action-wrapper*)")[0]
        // $(child).children()[0].click()
        // var nodes = $('div:regex(class,dropdown-menu*)');
        // nodes.each((index, element) => {
        //     let list = Array.prototype.slice.call(element.classList)
        //     if (list.indexOf("ant-dropdown-hidden") === -1) {
        //         // 下载
        //         $(element).find("[data-spm-anchor-id]")[0].click()
        //         // 隐藏前面打开的样式
        //         setTimeout(() => {
        //             $(element).addClass("ant-dropdown-hidden")
        //         }, 200);
        //     }
        // });
        // test
        // --------------------------

        setTimeout(function () {
            $("<button type='button' onclick='clickDownload()'>批量下载</button>").appendTo($(".nav-menu--1wQUw")[0]);
        }, 500)
        console.log('finish...')
    });

})();