// ==UserScript== // @name Fuck百度云 // @description 就他妈不装百度云官家 // @namespace http://www.jycggyh.cn/ // @author 艮古永恒 // @version 1.0.0 // @include pan.baidu.com/* // @match *://pan.baidu.com/* // @grant none // @run-at document-end // @require https://greasyfork.org/scripts/21104-%E6%88%91%E7%9A%84js%E5%87%BD%E6%95%B0%E5%BA%93/code/%E6%88%91%E7%9A%84JS%E5%87%BD%E6%95%B0%E5%BA%93.user.js // @downloadURL none // ==/UserScript== /** * 函数功能:往toolbar上增添按钮 */ function addToolbarBtn(name, logoClass) { // toolbar div var oBar = document.getElementsByClassName("bar")[0]; // btn parent var oParent = oBar.getElementsByTagName("div")[1]; // tmp btn var oBtnTmp = document.createElement("a"); oBtnTmp.className = "g-button"; oBtnTmp.href="javascript:void(0)" oParent.appendChild(oBtnTmp); // btn -> span var oBtnSpan = document.createElement("span"); oBtnSpan.className = "g-button-right"; oBtnTmp.appendChild(oBtnSpan); // btn -> span -> em var oBtnSpanEm = document.createElement("em"); oBtnSpanEm.className = logoClass; oBtnSpanEm.title = name; oBtnSpan.appendChild(oBtnSpanEm); // btn -> span -> text var oBtnSpanText = document.createElement("span"); oBtnSpanText.className = "text"; oBtnSpanText.innerHTML = name; oBtnSpan.appendChild(oBtnSpanText); return oBtnTmp; } /** * 获取当前路径 */ function getCurrentPath() { var oUl = document.getElementsByClassName("historylistmanager-history")[0]; var oLi = oUl.getElementsByTagName("li")[1]; var oSpans = oLi.getElementsByTagName("span"); if(oSpans.length == 0) { return ""; } var oSpan = oSpans[oSpans.length-1]; return oSpan.title.substring(4); } function getFileDDs() { var oList = document.getElementsByClassName("list-view")[0]; return oList.getElementsByTagName("dd"); } // init variable var DownloadAPI = "https://pcs.baidu.com/rest/2.0/pcs/file?method=download&app_id=266719&path="; var CurrentPath = getCurrentPath(); // setup toolbar button var oFiles = getFileDDs(); var oBtnDef = addToolbarBtn("默认","icon icon-download-gray"); var oBtnDown = addToolbarBtn("下载","icon icon-download-gray"); oBtnDef.onclick=function () { for(i = 0; i < oFiles.length; i++) { var oFile = oFiles[i].getElementsByClassName("file-name")[0].getElementsByClassName("text")[0].getElementsByClassName("filename")[0]; oFile.href = "javascript:void(0)"; } } oBtnDown.onclick = function () { for(i = 0; i < oFiles.length; i++) { var oFile = oFiles[i].getElementsByClassName("file-name")[0].getElementsByClassName("text")[0].getElementsByClassName("filename")[0]; oFile.href = DownloadAPI + CurrentPath + "/" + oFile.title; oFile.onclick = function() { window.location.href=oFile.href; } } }