在百度百科中添加灰机Wiki中文维基MBA智库等按钮

在百度百科中添加相同式样的Magi搜索(暂停服务,替换成灰机Wiki)、中文维基、MBA智库按钮。打开部分参考自dylan.li的原脚本并优化宽度:

От 25.10.2023. Виж последната версия.

// ==UserScript==
// @name         在百度百科中添加灰机Wiki中文维基MBA智库等按钮
// @name:en      Add Buttons to MBA Zhiku|WikipediaCN|HuijiWiki in Baidupedia
// @namespace    Black Rabbit
// @version      1.1.0
// @description  在百度百科中添加相同式样的Magi搜索(暂停服务,替换成灰机Wiki)、中文维基、MBA智库按钮。打开部分参考自dylan.li的原脚本并优化宽度:
// @description:en  Add same looks' buttons in Baidupedia, that jump to MBA Zhiku, WikipediaCN, HuijiWiki. Fork from the original script by Kevi Zuckerberg.
// @include      http://baike.baidu.com/*
// @include      https://baike.baidu.com/*
// @author       Black Rabbit
// @icon        https://baike.baidu.com/favicon.ico
// @require      https://code.jquery.com/jquery-3.7.1.min.js
// ==/UserScript==

function ori_method() {
    var headwidth = document.getElementsByClassName('wgt-searchbar wgt-searchbar-new wgt-searchbar-main cmn-clearfix wgt-searchbar-large');
    headwidth = headwidth[0];
    headwidth.style.width = "1300px";

    //Huiji
    $('#searchForm > #search').after('<button class="hjwiki" type="button">灰机Wiki</button>');
    $('.hjwiki').on({
        click: function () {
            window.open("https://www.huijiwiki.com/index.php?title=%E7%89%B9%E6%AE%8A:%E5%85%A8%E5%B1%80%E6%90%9C%E7%B4%A2&key=" + $('#query') .val());
            return false;
        }
    });

    //mba
    $('#searchForm > #search').after('<button class="mbazk" type="button">MBA智库</button>');
    $('.mbazk').on({
        click: function () {
            window.open("https://wiki.mbalib.com/wiki/Special:Search?search=" + $('#query') .val());
            return false;
        }
    });
    //wiki
    $('#searchForm > #search').after('<button class="wikizn" type="button">中文维基</button>');
    $('.wikizn').on({
        click: function () {
            window.open("https://zh.wikipedia.org/wiki/" + $('#query') .val());
            return false;
        }
    });
    console.log("Run old method");
}

function new_method() {
    var headwidth = document.getElementsByClassName('lemmaSearchBar_iqVhO');
    headwidth = headwidth[0];
    headwidth.style.width = "1300px";
    var query = $('div.lemmaSearchBarWrapper_uK_i6 > div.lemmaSearchBar_iqVhO > div.searchBar_y3cFr.clearfix > div.rightWrapper_MV_63 > div.inputWrapper_pg1f_ > input.searchInput_qiZhW');

    //Huiji
    $('div.rightWrapper_MV_63 > button.lemmaBtn_F27pH').after('<button class="hjwiki my_button" style="margin-left: 4px">灰机Wiki</button>');
    $('.hjwiki').on({
        click: function () {
            window.open("https://www.huijiwiki.com/index.php?title=%E7%89%B9%E6%AE%8A:%E5%85%A8%E5%B1%80%E6%90%9C%E7%B4%A2&key=" + query.val());
            return false;
        }
    });

    //mba
    $('div.rightWrapper_MV_63 > button.lemmaBtn_F27pH').after('<button class="mbazk my_button" style="margin-left: 4px">MBA智库</button>');
    $('.mbazk').on({
        click: function () {
            window.open("https://wiki.mbalib.com/wiki/Special:Search?search=" + query.val());
            return false;
        }
    });

    //wiki
    $('div.rightWrapper_MV_63 > button.lemmaBtn_F27pH').after('<button class="wikizn my_button" style="margin-left: 4px">中文维基</button>');
    $('.wikizn').on({
        click: function () {
            window.open("https://zh.wikipedia.org/wiki/" + query.val() );
            return false;
        }
    });

    $(".my_button").css({
        "-webkit-appearance": "none",
        "background": "#38f",
        "border": "1px solid",
        "border-color": "#38f #38f #2d78f4",
        "border-radius": "0",
        "color": "#fff",
        "cursor": "pointer",
        "display": "inline-block",
        "float": "left",
        "font-family": "arial",
        "font-size": "16px",
        "height": "40px",
        "letter-spacing": "1px",
        "outline": "medium",
        "width": "104px"
    });

    console.log("Run new method");
}

function detect() {
    console.log("detecting . . . .");
    var body = document.body;
    if (body.getAttribute("class")) {
        console.log("ori DOM");
        ori_method();
    } else {
        console.log("new DOM");
        new_method();
    }
}

setTimeout(detect,1000);