您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
一个练习用的小脚本
// ==UserScript== // @name 百度网盘的小文件加速下载 // @namespace http://tampermonkey.net/ // @version 1.0.0 // @description 一个练习用的小脚本 // @author rytter // @match https://pan.baidu.com/* // @icon data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== // @grant GM_xmlhttpRequest // @license MIT // ==/UserScript== (function() { 'use strict'; let functions={ getSourceFile(){ var SourceFile=document.querySelector('.wp-s-core-pan').__vue__.selectedList; if (SourceFile.length > 1){ alert("you have to choose only one file") return; }else{ return SourceFile; } }, get(url, headers, type, extra) { return new Promise((resolve, reject) => { let requestObj = GM_xmlhttpRequest({ method: "GET", url, headers, responseType: type || 'json', onload: (res) => { if (res.status === 204) { requestObj.abort(); idm[extra.index] = true; } if (type === 'blob') { res.status === 200 && base.blobDownload(res.response, extra.filename); resolve(res); } else { resolve(res.response || res.responseText); } }, onprogress: (res) => { if (extra && extra.filename && extra.index) { res.total > 0 ? progress[extra.index] = (res.loaded * 100 / res.total).toFixed(2) : progress[extra.index] = 0.00; } }, onloadstart() { extra && extra.filename && extra.index && (request[extra.index] = requestObj); }, onerror: (err) => { reject(err); }, }); }); }, } document.onkeydown = function (e) { // 对整个页面监听 var keyNum = window.event ? e.keyCode : e.which; // 获取被按下的键值 if (keyNum == 68) { //这一段是用来对一些参数进行初始化用的 var downloadFile=functions.getSourceFile();//我们通过这个地方获得当前需要下载的文件 if(downloadFile){ console.log(downloadFile) }else{ console.log("Error!Cant get the download file") } var fidList = "["+downloadFile['0'].fs_id+"]", url, res; fidList = encodeURIComponent(fidList); url = `https://pan.baidu.com/rest/2.0/xpan/multimedia?method=filemetas&dlink=1&fsids=${fidList}`; res = functions.get(url, {"User-Agent": "netdisk;8.2.0;android-android;4.4.4"}); console.log("this is the result"); res.then((result)=>{ console.log(result.list['0'].dlink) window.open(result.list['0'].dlink) }) } } })();