Greasy Fork

Greasy Fork is available in English.

BaiduSharePage

按住Alt键选中度盘神秘代码快捷进入对应分享页!Press Alt on keyboard and Select a baidu_secret_code to enter target share page!

当前为 2018-03-05 提交的版本,查看 最新版本

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @name         BaiduSharePage
// @namespace    http://tampermonkey.net/
// @version      0.2.2
// @description  按住Alt键选中度盘神秘代码快捷进入对应分享页!Press Alt on keyboard and Select a baidu_secret_code to enter target share page!
// @author       Kakami
// @match        *://*/*
// @require      https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js
// @note         v0.3 添加一种情况的解决方案,如:1ssssssGf 代码2:1234 ,12345678 代码b:1234 ,即神秘代码与提取码之间含有其他单个数字或字母被认为是有效字符(实际上是无效字符)
// @note         v0.3 添加一种情况的解决方案,如:1c347Cx6     c34f ,即神秘代码和提取码之间仅用空格隔开
// @note         v0.2 添加自动填充选中的提取码功能
// @note         v0.1 完成基本功能
// ==/UserScript==

(function() {
    'use strict';
    //自定义需要按下的按键
    function isOnKeyDown(e){
        //打开Alt键
        if(!e.altKey)return;
        //打开Ctrl键
        //if(!e.ctrlKey)return;
        //打开Shift键
        //if(!e.shiftKey)return;

        //调用
        openSharePage(e);
    }

    //监听器
    document.addEventListener('mouseup',isOnKeyDown,false);
    isInSharePage();

    //打开分享页的函数
    function openSharePage(e){
        var ae = document.activeElement;
        var currentString = "";
        var sharePassword = "";
        //获取选中的文本
        //if (ae.tagName.toLowerCase() == "input" || ae.tagName.toLowerCase() == "textarea") {
        //    currentString = ae.value.substring(ae.selectionStart, ae.selectionEnd);
        //} else {
            currentString = getSelection().toString();
        //}
        var reg = "[^a-zA-Z0-9]+";
        var reg2 = ".*(:|:|码).*[0-9a-zA-Z].*[0-9a-zA-Z].*[0-9a-zA-Z].*[0-9a-zA-Z].*";
        var reg3 = ".*[^0-9a-zA-Z][0-9a-zA-Z](:|:|,|,).*[0-9a-zA-Z].*[0-9a-zA-Z].*[0-9a-zA-Z].*[0-9a-zA-Z].*";

        //去除无用字符
        var shareString = currentString.replace(new RegExp(reg,"gm"),"");
        //判断有没提取码
        if(currentString.match(new RegExp(reg2,"g"))){
            sharePassword = shareString.substr(-4,4);
            shareString = shareString.replace(/[0-9a-zA-Z]{4}$/g,"");
            if(currentString.match(new RegExp(reg3,"g"))){
                shareString = shareString.replace(/.$/g,"");
            }
            shareString = shareString+"#"+sharePassword;
        }else{
            //备用code space
            //判断有没验证码(特殊情况)
            currentString = currentString.replace(/[^ 0-9a-zA-Z]/gm,"");
            if(currentString.match(/[0-9a-zA-Z]{8,40} +[0-9a-zA-Z]{4}/g)){
                sharePassword = shareString.substr(-4,4);
                shareString = shareString.replace(/[0-9a-zA-Z]{4}$/g,"");
                shareString = shareString+"#"+sharePassword;
            }
        }
        //到分享页面
        var shareUrl = "http://pan.baidu.com/s/" + shareString;
        if(shareString.length>=4&&shareString.length<50){
            //console.log(shareUrl);
            //console.log(shareString);
            //console.log(sharePassword);
            window.open(shareUrl);
        }
    }

    //自动填写提取码
    function isInSharePage(e){
        var curl = location.href.toString();
        //console.log(curl);
        if(!curl.match(/.*baidu.*share.*#[0-9a-zA-Z]{4}$/g))return;
        var Password = curl.substr(-4,4);
        //console.log(Password);
        $(":input").val(Password);
        $(".g-button-right :contains('提取文件')").click();
    }
})();