超星学习通课程资源直链下载

超星学习通课程资源直链下载,支持ppt(x),doc(x),pdf,mp4,flv,mp3,avi资源的下载,支持整节课资源批量下载。

// ==UserScript==
// @name         超星学习通课程资源直链下载
// @namespace    https://github.com/ColdThunder11/ChaoXingDownload
// @version      0.30
// @description  超星学习通课程资源直链下载,支持ppt(x),doc(x),pdf,mp4,flv,mp3,avi资源的下载,支持整节课资源批量下载。
// @author       ColdThunder11
// @match        *://*.chaoxing.com/mycourse/studentstudy?chapterId=*&courseId=*&clazzid=*&enc=*
// @match        *://*.chaoxing.com/coursedata?classId=*&courseId=*&type=*&ut=*&enc=*&cpi=*&openc=*
// @match        *://*.chaoxing.com/coursedata?courseId=*&classId=*&type=*&enc=*&ut=*&openc=*
// @match        *://*.chaoxing.com/coursedata/search?dataName=*&courseId=*&classId=*&ut=*&cpi=*&openc=*
// @match        *://*.chaoxing.com/coursedata?courseId=*&classId=*&type=*&ut=*&enc=*&cpi=*&openc=*
// @match        *://*.chaoxing.com/coursedata?courseId=*&dataName=*&dataId=*&type=*&parent=*&flag=*&classId=*&enc*&ut=*&cpi=*&openc=*
// @match        *://*.edu.cn/mycourse/studentstudy?chapterId=*&courseId=*&clazzid=*&enc=*
// @match        *://*.edu.cn/coursedata?classId=*&courseId=*&type=*&ut=*&enc=*&cpi=*&openc=*
// @match        *://*.edu.cn/coursedata?courseId=*&classId=*&type=*&enc=*&ut=*&openc=*
// @match        *://*.edu.cn/coursedata/search?dataName=*&courseId=*&classId=*&ut=*&cpi=*&openc=*
// @match        *://*.edu.cn/coursedata?courseId=*&classId=*&type=*&ut=*&enc=*&cpi=*&openc=*
// @match        *://*.edu.cn/coursedata?courseId=*&dataName=*&dataId=*&type=*&parent=*&flag=*&classId=*&enc*&ut=*&cpi=*&openc=*
// @grant        none
// @supportURL   https://github.com/ColdThunder11/ChaoXingDownload/issues
// ==/UserScript==


(function() {
    'use strict';
    var url=document.location.toString();
    if(url.indexOf("coursedata")!=-1){
        setTimeout(()=>{
            if(document.getElementsByClassName("ct11_dl")[0]==null){
                var fileList=document.getElementsByClassName("ZYCon")[0].childNodes[1].childNodes[3].childNodes;
                for(var i=0;i<fileList.length;i++){
                    try{
                        if(fileList[i].getAttribute("type")!="afolder"){
                            let objectid=fileList[i].getAttribute("objectid");
                            var downloadTag = document.createElement("div");
                            downloadTag.setAttribute("href","javascript:void(0)");
                            //downloadTag.setAttribute("href","https://cs-ans.chaoxing.com/download/"+objectid);
                            downloadTag.setAttribute("style","cursor:pointer;");
                            downloadTag.setAttribute("class","ct11_dl");
                            downloadTag.innerHTML="下载";
                            downloadTag.onclick = function name(params) {
                                window.location = "https://cs-ans.chaoxing.com/download/"+objectid;
                            }
                            fileList[i].childNodes[3].childNodes[1].appendChild(downloadTag);
                        }
                    }
                    catch(e){}
                }
            }
        },1500);
    }
    else{
        setInterval(()=>{
            var haveResource=false;
            var downloadLinks;
            var iframes=document.getElementsByTagName("iframe");
            for(var i=0;i<iframes.length;i++){
                var frames=iframes[i].contentWindow.document.getElementsByTagName("iframe");
                for(var j=0;j<frames.length;j++){
                    var frame=frames[j];
                    if(!frame) return;
                    var fdiv=frame.parentNode;
                    if(!fdiv) return;
                    if(iframes[i].contentWindow.document.getElementsByClassName("ct11_dl")[j]!=null) return;
                    var data=frame.getAttribute('data');
                    if(data!=null){
                        let jsondata=JSON.parse(data);
                        if(jsondata.type==".ppt"||jsondata.type==".pptx"||jsondata.type==".mp4"||jsondata.type==".pdf"||jsondata.type==".flv"||jsondata.type==".doc"||jsondata.type==".docx"||jsondata.type==".avi"||jsondata.type==".wmv"||jsondata.type==".mpg"||jsondata.type==".mpeg"){
                            if(!haveResource) {
                                haveResource=true;
                                downloadLinks=new Array();
                            }
                            downloadLinks.push("https://cs-ans.chaoxing.com/download/"+jsondata.objectid)
                            var downloadTag = document.createElement("div");
                            downloadTag.setAttribute("href","javascript:void(0)");
                            //downloadTag.setAttribute("href","https://cs-ans.chaoxing.com/download/"+jsondata.objectid);
                            downloadTag.setAttribute("class","ct11_dl");
                            downloadTag.setAttribute("style","font-size: 14px;color: #666666;cursor:pointer;");
                            downloadTag.innerHTML="点此下载 "+jsondata.name;
                            downloadTag.onclick = function name(params) {
                                window.location = "https://cs-ans.chaoxing.com/download/"+jsondata.objectid;
                            }
                            fdiv.appendChild(downloadTag);
                            continue;
                        }
                    }
                    if(frame.getAttribute("name")==null) continue;
                    if(frame.getAttribute("name").substr(frame.getAttribute("name").length-4,4)==".mp3"){
                        if(!haveResource) {
                            haveResource=true;
                            downloadLinks=new Array();
                        }
                        downloadLinks.push("https://cs-ans.chaoxing.com/download/"+frame.getAttribute("objectid"))
                        let objectId = frame.getAttribute("objectid");
                        var adownloadTag = document.createElement("div");
                        adownloadTag.setAttribute("href","javascript:void(0)");
                        //adownloadTag.setAttribute("href","https://cs-ans.chaoxing.com/download/"+frame.getAttribute("objectid"));
                        adownloadTag.setAttribute("class","ct11_dl");
                        adownloadTag.setAttribute("style","font-size: 14px;color: #666666;cursor:pointer;");
                        adownloadTag.innerHTML="点此下载 "+frame.getAttribute("name");
                        adownloadTag.onclick = function name(params) {
                            window.location = "https://cs-ans.chaoxing.com/download/"+ objectId;
                        }
                        continue;
                    }
                }
            }
            if(haveResource){
                if(iframes[0].parentNode.getElementsByClassName("ct11_dl")[0]!=null) iframes[0].parentNode.getElementsByClassName("ct11_dl")[0].remove()
                var allDownloadTag = document.createElement("div");
                allDownloadTag.setAttribute("class","ct11_dl");
                allDownloadTag.setAttribute("style","font-size: 14px;color: #666666;cursor:pointer;");
                allDownloadTag.setAttribute("href","javascript:void(0)");
                allDownloadTag.innerHTML="点此下载本节内的全部资源";
                allDownloadTag.onclick = function name(params) {
                    for(var i=0;i<downloadLinks.length;i++){
                        const iiframe = document.createElement("iframe");
                        iiframe.style.display = "none";
                        iiframe.style.height = 0;
                        iiframe.src = downloadLinks[i];
                        document.body.appendChild(iiframe);
                        setTimeout(()=>{
                            iiframe.remove();
                        }, 10000);
                    }
                }
                iframes[0].parentNode.insertBefore(allDownloadTag,iframes[0])
            }
        },3000);
    }
})();