免掉百度网盘写密码的麻烦,包括解析短网址和跳转链接,多链接支持
目前為
// ==UserScript==
// @name Free Yun Keys 免密百度网盘
// @namespace http://zszen.github.io/
// @version 2.0
// @description 免掉百度网盘写密码的麻烦,包括解析短网址和跳转链接,多链接支持
// @author Zszen John
// @require https://cdn.staticfile.org/jquery/3.3.1/jquery.min.js
// @include *
// @grant none
// ==/UserScript==
(function() {
'use strict';
var label = 'Zszen '
var regexp_codeback = /#([a-zA-Z0-9]{4})/
var regexp_code = /(码|问)[\s|:|:]*([a-zA-Z0-9]{4})/
var regexp_url = /(https:\/\/pan.baidu.com\/.*?\/(\d|\w|-)+)/
var url = window.location.href;
var res = /\/\/(.+?\..*?)(\/|\?)/.exec(url);
var site = res[1];
console.log(site);
//parse
if(site=="pan.baidu.com"){
$('input').first().val(regexp_codeback.exec(url)[1]);
$('a[title="提取文件"]').click();
}else{//deal
var areas = $(':contains("提取码")');
for(var i=0;i<areas.length;i++){
if($(areas[i]).children().children().length<=1 && $(areas[i]).length>0){
replaceUrl($(areas[i]));
}
}
areas = $(':contains("密码:")');
for(i=0;i<areas.length;i++){
if($(areas[i]).children().children().length<=1 && $(areas[i]).length>0){
replaceUrl($(areas[i]));
}
}
//area = $(':contains("密码:")').last();
//if(area.length>0) replaceUrl(area);
}
function replaceUrl(area){
var code = regexp_code.exec(area.text())[2];
var atag = area.find('a[href*="pan.baidu.com"]');
if(atag.length==0){
atag = area.find('a');
}
var link = atag.attr('href');
console.log(link);
if(link.indexOf('https://pan.baidu.com')!=0){
$.ajax({type:'get',url:link, success:function(res){
link = regexp_url.exec(res)[0];
area.find('a').attr('href', link + "#" + code);
}});
}else{
area.find('a').attr('href', link + "#" + code);
}
}
})();