批量下载选中的课程资源
// ==UserScript==
// @name 课程资源助手
// @namespace http://tampermonkey.net/
// @version 0.1
// @description 批量下载选中的课程资源
// @author 零度
// @match *://course.ucas.ac.cn/portal/site/*/tool/*
// @grant none
// ==/UserScript==
(function() {
'use strict';
var div_button = document.getElementsByClassName('col-lg-6 col-md-8 col-sm-8 col-xs-12 btn-group btn-group-sm')[0];
if(div_button){
var download_btn = document.createElement("input");
download_btn.setAttribute('style', 'margin:0;margin-left:20px;');
download_btn.setAttribute('type', 'button');
download_btn.setAttribute('value', '下载');
download_btn.setAttribute('class', 'btn btn-default');
download_btn.setAttribute('id', 'download-button');
download_btn.setAttribute('onclick', 'portal.download_selected_files();');
div_button.append(download_btn)
portal.download_selected_files = function download_selected_files(){
var elements = document.getElementsByName('selectedMembers');
var download_folder_warning_showed = false;
var download_urls = new Array();
if(elements)
{
var download_urls_amount = 0;
for(var i = 0; i < elements.length; i++)
{
if(elements[i].checked){
if(elements[i].value.charAt(elements[i].value.length-1)=='/'){
if(!download_folder_warning_showed){
download_folder_warning_showed = true;
alert('暂不支持下载文件夹,将忽略选中的文件夹');
}
}
else{
download_urls[download_urls_amount] = 'https://course.ucas.ac.cn/access/content'+elements[i].value;
download_urls_amount = download_urls_amount+1;
}
}
}
var content = "file content!";
var data = new Blob([content], {
type: "text/plain;charset=UTF-8"
});
var anchor = document.createElement("a");
for(i = 0;i < download_urls.length; i++){
anchor.href = download_urls[i];
anchor.download = download_urls[i].match(/(?<=group\/.*\/).*$/)[0];
anchor.click();
window.URL.revokeObjectURL(data);
}
}
}
}
})();