// ==UserScript==
// @name 百度网盘直接下载助手增强版
// @namespace undefined
// @version 0.9.24
// @description 1、直接下载百度网盘和百度网盘分享的文件,避免下载文件时调用百度网盘客户端,获取网盘文件的直接下载地址;
// @description (a、修复了官方原作者版v0.9.4在我的网盘页面不显示【下载助手】按钮问题!
// @description (b、解决了因修复a问题后导致分享链接页面点【下载】按钮会调用客户端问题
// @description 2、屏蔽了网盘页面百度联盟广告和百度客户端下载按钮,兼容360安全浏览器等;
// @author ivesjay、DieMoe
// @match *://pan.baidu.com/disk/home*
// @match *://yun.baidu.com/disk/home*
// @match *://pan.baidu.com/s/*
// @match *://yun.baidu.com/s/*
// @match *://pan.baidu.com/share/link*
// @match *://yun.baidu.com/share/link*
// @require https://code.jquery.com/jquery-latest.js
// @run-at document-start
// @grant unsafeWindow
// @grant GM_setClipboard
// ==/UserScript==
(function() {
'use strict';
var $ = $ || window.$;
var log_count = 1;
var wordMapHttp = {
'list-grid-switch':'yvgb9XJ',
'list-switched-on':'ksbXZm',
'grid-switched-on':'tch6W25',
'list-switch':'lrbo9a',
'grid-switch':'xh6poL',
'checkbox':'EOGexf',
'col-item':'Qxyfvg',
'check':'fydGNC',
'checked':'EzubGg',
'list-view':'vdAfKMb',
'item-active':'ngb9O6',
'grid-view':'JKvHJMb',
'bar-search':'OFaPaO',
'default-dom':'xpX2PV',
'bar':'qxnX2G5',
'list-tools':'QDDOQB'
};
var wordMapHttps = {
'list-grid-switch':'qobmXB1q',
'list-switched-on':'ewXm1e',
'grid-switched-on':'kxhkX2Em',
'list-switch':'rvpXm63',
'grid-switch':'mxgdJgwv',
'checkbox':'EOGexf',
'col-item':'Qxyfvg',
'check':'fydGNC',
'checked':'EzubGg',
'list-view':'vdAfKMb',
'item-active':'pcamXBRX',
'grid-view':'JKvHJMb',
'bar-search':'OFaPaO',
'default-dom':'nyztJqWE',
'bar':'mkseJqKQ',
'list-tools':'QDDOQB'
};
var wordMap = location.protocol == 'http:' ? wordMapHttp : wordMapHttps;
//console.log(wordMap);
function slog(c1,c2,c3){
c1 = c1?c1:'';
c2 = c2?c2:'';
c3 = c3?c3:'';
console.log('#'+ log_count++ +'-BaiDuNetdiskHelper-log:',c1,c2,c3);
}
$(function(){
switch(detectPage()){
case 'disk':
var panHelper = new PanHelper();
panHelper.init();
return;
case 'share':
case 's':
var panShareHelper = new PanShareHelper();
panShareHelper.init();
return;
default:
return;
}
});
//网盘页面的下载助手
function PanHelper(){
var yunData,sign,timestamp,bdstoken,logid,fid_list;
var fileList=[],selectFileList=[],batchLinkList=[],batchLinkListAll=[],linkList=[],
list_grid_status='list';
var observer,currentPage,currentPath,currentCategory,dialog,searchKey;
var panAPIUrl = location.protocol + "//" + location.host + "/api/";
var restAPIUrl = location.protocol + "//pcs.baidu.com/rest/2.0/pcs/";
var clientAPIUrl = location.protocol + "//d.pcs.baidu.com/rest/2.0/pcs/";
this.init = function(){
yunData = unsafeWindow.yunData;
slog('yunData:',yunData);
if(yunData === undefined){
slog('页面未正常加载,或者百度已经更新!');
return;
}
initParams();
registerEventListener();
createObserver();
addButton();
createIframe();
dialog = new Dialog({addCopy:true});
slog('网盘直接下载助手加载成功!');
};
function initParams(){
sign = getSign();
timestamp = getTimestamp();
bdstoken = getBDStoken();
logid = getLogID();
currentPage = getCurrentPage();
slog('Current display mode:',currentPage);
if(currentPage == 'list')
currentPath = getPath();
if(currentPage == 'category')
currentCategory = getCategory();
if(currentPage == 'search')
searchKey = getSearchKey();
refreshListGridStatus();
refreshFileList();
refreshSelectList();
}
function refreshFileList(){
if (currentPage == 'list') {
fileList = getFileList();
} else if (currentPage == 'category'){
fileList = getCategoryFileList();
} else if (currentPage == 'search') {
fileList = getSearchFileList();
}
}
function refreshSelectList(){
selectFileList = [];
}
function refreshListGridStatus(){
list_grid_status = getListGridStatus();
}
//获取当前的视图模式
function getListGridStatus(){
//return $('div.list-grid-switch').hasClass('list-switched-on')?'list':($('div.list-grid-switch').hasClass('grid-switched-on')?'grid':'list');
//return $('div.itiWzPY').hasClass('kudtWY46')?'list':($('div.itiWzPY').hasClass('nytAL9w')?'grid':'list');
return $('div.'+wordMap['list-grid-switch']).hasClass(wordMap['list-switched-on'])?'list':($('div.'+wordMap['list-grid-switch']).hasClass(wordMap['grid-switched-on'])?'grid':'list');
}
function registerEventListener(){
registerHashChange();
registerListGridStatus();
registerCheckbox();
registerAllCheckbox();
registerFileSelect();
}
//监视地址栏#标签的变化
function registerHashChange(){
window.addEventListener('hashchange',function(e){
refreshListGridStatus();
if(getCurrentPage() == 'list') {
if(currentPage == getCurrentPage()){
if(currentPath == getPath()){
return;
} else {
currentPath = getPath();
refreshFileList();
refreshSelectList();
}
} else {
currentPage = getCurrentPage();
currentPath = getPath();
refreshFileList();
refreshSelectList();
}
} else if (getCurrentPage() == 'category') {
if(currentPage == getCurrentPage()){
if(currentCategory == getCategory()){
return;
} else {
currentPage = getCurrentPage();
currentCategory = getCategory();
refreshFileList();
refreshSelectList();
}
} else {
currentPage = getCurrentPage();
currentCategory = getCategory();
refreshFileList();
refreshSelectList();
}
} else if(getCurrentPage() == 'search') {
if(currentPage == getCurrentPage()){
if(searchKey == getSearchKey()){
return;
} else {
currentPage = getCurrentPage();
searchKey = getSearchKey();
百度网盘助手下载.zip
需积分: 42 123 浏览量
2020-03-20
13:09:12
上传
评论
收藏 16KB ZIP 举报
寅恪光潜
- 粉丝: 1w+
- 资源: 51
最新资源
- 自动驾驶-状态估计和定位之Error State EKF.pdf
- STM32F103ZET6+北斗
- 程序流程图的说明及图形示例
- FDN5618P-NL-VB一款SOT23封装P-Channel场效应MOS管
- Go语言基础(变量和基本类型).zip
- 基于CYCLONE2 (EP2C8Q) FPGA 设计PLL锁相环设置时钟Verilog源码Quartus工程文件.zip
- FDN372S-NL-VB一款SOT23封装N-Channel场效应MOS管
- date0425111111111111111111111
- 包含贪心算法的定义及python代码部分实现
- 自动驾驶-状态估计和定位之扩展卡尔曼滤波.pdf
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈