naifei+

显示一个直达naifei.cc的按钮,支持提取码链接,可配合自动填写提取码脚本使用

当前为 2020-07-11 提交的版本,查看 最新版本

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         naifei+
// @namespace    https://greasyfork.org/zh-CN/users/176664
// @version      20.07.11.18
// @description  显示一个直达naifei.cc的按钮,支持提取码链接,可配合自动填写提取码脚本使用
// @author       cnhong
// @match        *://pan.baidu.com/s/*
// @match        *://pan.baidu.com/share/*
// @match        *://yun.baidu.com/s/*
// @match        *://pan.naifei.cc/*
// @grant        none
// @run-at       document-idle
// @modified	 20.07.11.18 增加提取码暂存失败提示
// @modified	 20.07.11.17 修复带提取码链接无法自动识别提取码的bug
// ==/UserScript==

(function() {
    'use strict';
	loadJq();
	function main(){
		switch(document.domain){
			case "pan.baidu.com":
				baidu();
				break;
			case "pan.naifei.cc":
				naifei();
				break;
		}
	}
	function getShare(){
		var h = location.href, s="";
		if(h.indexOf('com/s/')>0){
			s = h.split("com/s/")[1];
		}else if(GET('surl')){
			s = GET('surl');
		}
		if(s&& s.indexOf('#')>0){
			s = s.split("#")[0];
		}
		
		return s;
	}
	function getPwd(){
		if(location.hash !="" && location.hash.length==5){
			return location.hash.replace("#","");
		}
	}
	function GET(key) {
		var reg = new RegExp("(^|&)" + key + "=([^&]*)(&|$)", "i");
		var r = window.location.search.substr(1).match(reg);
		if (r != null)
			return decodeURI(r[2]);
		return null;
	}
	function baidu(){
		var pwdBtn = $('#submitBtn');
		
		var share = getShare(), pwd = getPwd();
		if(!share){alert("解析shareId失败!可联系脚本作者");return false;}
		if(pwdBtn.length>0){ 
			if(pwd){
				$('.pickpw input').val(pwd);
				setCookie(share, pwd,1);
				setTimeout(function(){
					$("#submitBtn").trigger("click");
				},1000);
			}
			$(".pickpw input").on("change",function(){
				pwd = $('.pickpw input').val().trim();
				setCookie(share, pwd,1);
			});
			if(!getCookie(share)){
				alert("暂存提取码失败!需要你自己在naifei网址后面加上 &pwd=提取码")
			}
			return;
		}
		var _cnhong_u = getCookie(share)||getCookie(share.substring(1)), url = share;
		
		if(_cnhong_u){pwd = _cnhong_u;}
		if(pwd){url += "&pwd="+pwd;}
		if(url){
			var btn = '<a class="g-button" data-button-id="b8" data-button-index="2" href="http://pan.naifei.cc/?share='+url+'" target="_blank" title="直达naifei"><span class="g-button-right"><em class="icon icon-save-disk" title="直达naifei"></em><span class="text" style="width: auto;">直达naifei</span></span></a>';
			$(".x-button-box").prepend(btn);
			$('a[data-button-id="b7"]').hide();
			$('a[data-button-id="b5"]').hide();
		}
	}
	function loadJq(){
		
		if(typeof($)=="undefined"){
			loadJS("https://cdn.staticfile.org/jquery/2.2.4/jquery.min.js", main);
		}else{
			main();
		}
	}
	function loadJS( url, callback ){
		var script = document.createElement('script'),
			fn = callback || function(){};
		script.type = 'text/javascript';
		script.onload = function(){
			fn();
		};
		script.src = url;
		document.getElementsByTagName('head')[0].appendChild(script);
	}
	function setCookie(n,v,t)
	{
		var d = new Date();
		d.setTime(d.getTime()+(t*24*60*60*1000));
		t = "expires="+d.toGMTString();
		document.cookie = n + "=" + v + "; " + t+"; path=/;";
	}
	function getCookie(n)
	{
		n = n + "=";
		var ca = document.cookie.split(';');
		for(var i=0; i<ca.length; i++) 
		{
			var c = ca[i].trim();
			if (c.indexOf(n)==0) return c.substring(n.length,c.length);
		}
		return "";
	}
	function naifei(){}
})();