NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name 115 Download Helper // @authuer ted423 // @description 115网盘下载帮手,能自动帮忙点普通下载,少点一次鼠标,能够批量复制下载链接 // @include http://115.com/?ct=* // @version 2016.02.20.0 // @grant GM_xmlhttpRequest // @grant GM_setClipboard // @run-at document-end // @license MIT // @namespace https://greasyfork.org/users/85 // downloadURL https://github.com/ted423/rules-GM-stylish-UC/raw/master/GM/115%20Download%20Helper.user.js // ==/UserScript== if(self.document.URL.indexOf('http://115.com/?ct=')!=-1){ var callback = function(records){ records.map(function(record){ if(record.addedNodes[0]){ /* if(record.addedNodes[0].baseURI.indexOf('http://115.com/?ct=download')!=-1&&record.addedNodes[0].nodeName=='#text'){ var target=self.document.querySelector('.btn-green'); target.removeAttribute('target'); target.click(); } */ if(record.target.id=='js_operate_box'){ if(!document.querySelector('li[menu="export"]')){ var li = document.createElement('li'); li.innerHTML = '<span>批量复制下载链接</span>'; li.onclick=function(){ var arr=[]; i=0; [].forEach.call(selected,function(oneSelected){ URL="http://web.api.115.com/files/download?pickcode="+oneSelected.getAttribute('pick_code')+"&_="+(new Date()).valueOf(); console.log(URL); getDownloadUrl(URL,arr,li,selected.length); }) } record.target.firstChild.appendChild(li); var selected = document.querySelectorAll('li.selected'); } } } }) } var option = { 'childList': true, 'subtree': true, }; function getDownloadUrl(URL,arr,li,length){ GM_xmlhttpRequest({ method:'GET', url:URL, headers:{ "Referer":"http://web.api.115.com/bridge_2.0.html?namespace=Core.DataAccess&api=UDataAPI&_t=v5", "Accept":"*/*", }, onload:function(response){ //console.log(response.responseText); geturl=JSON.parse(response.responseText).file_url; //console.log(geturl); arr.push(geturl); i++; if(i==length){ //console.log(arr.join('\n')); GM_setClipboard(arr.join('\n'),'text'); li.style.fontWeight='bold'; setTimeout(function(){li.style.fontWeight=''},2000) } }, }); } if(self.document.URL.indexOf('http://115.com/?ct=pickcode')!=-1) { var click = new MutationObserver(callback); click.observe(document, option); } else{ var Firstload = new MutationObserver(callback); Firstload.observe(document, option); //console.log(self.document.URL); } }