Greasy Fork

BaiduSharePage

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

目前为 2018-03-05 提交的版本。查看 最新版本

// ==UserScript==
// @name         BaiduSharePage
// @namespace    http://tampermonkey.net/
// @version      0.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
// ==/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 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,"");
            shareString = shareString+"#"+sharePassword;
        }else{
            //备用code space
            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();
    }
})();