BaiduSharePage

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

Bu betiği kurabilmeniz için Tampermonkey, Greasemonkey ya da Violentmonkey gibi bir kullanıcı betiği eklentisini kurmanız gerekmektedir.

Bu betiği yüklemek için Tampermonkey gibi bir uzantı yüklemeniz gerekir.

Bu betiği kurabilmeniz için Tampermonkey ya da Violentmonkey gibi bir kullanıcı betiği eklentisini kurmanız gerekmektedir.

Bu betiği kurabilmeniz için Tampermonkey ya da Userscripts gibi bir kullanıcı betiği eklentisini kurmanız gerekmektedir.

Bu betiği indirebilmeniz için ayrıca Tampermonkey gibi bir eklenti kurmanız gerekmektedir.

Bu komut dosyasını yüklemek için bir kullanıcı komut dosyası yöneticisi uzantısı yüklemeniz gerekecek.

(Zaten bir kullanıcı komut dosyası yöneticim var, kurmama izin verin!)

Advertisement:

Bu stili yüklemek için Stylus gibi bir uzantı yüklemeniz gerekir.

Bu stili yüklemek için Stylus gibi bir uzantı kurmanız gerekir.

Bu stili yükleyebilmek için Stylus gibi bir uzantı yüklemeniz gerekir.

Bu stili yüklemek için bir kullanıcı stili yöneticisi uzantısı yüklemeniz gerekir.

Bu stili yüklemek için bir kullanıcı stili yöneticisi uzantısı kurmanız gerekir.

Bu stili yükleyebilmek için bir kullanıcı stili yöneticisi uzantısı yüklemeniz gerekir.

(Zateb bir user-style yöneticim var, yükleyeyim!)

Advertisement:

// ==UserScript==
// @name         BaiduSharePage
// @namespace    http://tampermonkey.net/
// @version      0.2.5
// @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.2.5 去除部分不支持的(?<=exp),改为(?=exp)代替
// @note         v0.2.4 提高了特殊情况的稳定性
// @note         v0.2.4 下划线_和短横线-现在在某些情况下判定为是有效字符了
// @note         v0.2.3 添加仅用换行隔开情况的解决方案
// @note         v0.2.2 添加一种情况的解决方案,如:1ssssssGf 代码2:1234 ,12345678 代码b:1234 ,即神秘代码与提取码之间含有其他单个数字或字母被认为是有效字符(实际上是无效字符)
// @note         v0.2.2 添加一种情况的解决方案,如: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 = document.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_-][2bB](:|:|,|,|\s).*[0-9a-zA-Z].*[0-9a-zA-Z].*[0-9a-zA-Z].*[0-9a-zA-Z].*";

        //去除无用字符
        currentString = currentString.replace(/(?=此帖).*(?=购买)/gm,"");
        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
            //判断有没验证码(特殊情况)
            var currentString2 = currentString.replace(/[^\s,,0-9a-zA-Z_-]/gm,"");
            if(currentString2.match(/[\s,,0-9a-zA-Z_-]{8,40}[\s,,]+[0-9a-zA-Z]{4}/g)){
                //shareString = shareString.replace(/[\s,,]/gm,"");
                sharePassword = shareString.substr(-4,4);
                shareString = shareString.replace(/[0-9a-zA-Z]{4}$/g,"");
                if(currentString2.match(/[^0-9a-zA-Z_-][2bB][\s,,]+[0-9a-zA-Z]{4}$/g))shareString = shareString.replace(/.$/g,"");
                shareString = shareString+"#"+sharePassword;
            }
        }
        if(shareString.length<=18)shareString = shareString.replace(/[_-]/gm,"");
        //到分享页面
        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();
    }
})();