Greasy Fork

Greasy Fork is available in English.

在 bing词典 中聚合显示 有道 的结果 添加转跳至各种在线工具的按钮

1. Display youdao.com results alongside the original results on bing.com/dict. 2. Provide shortcuts for many online tools.

当前为 2023-03-13 提交的版本,查看 最新版本

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

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

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

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

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @name         在 bing词典 中聚合显示 有道 的结果 添加转跳至各种在线工具的按钮
// @namespace    http://tampermonkey.net/
// @version      10.6.1
// @license      MIT
// @description  1. Display youdao.com results alongside the original results on bing.com/dict. 2. Provide shortcuts for many online tools.
// @author       庶民player
// @match        *.bing.com/dict*
// @icon         https://cn.bing.com/sa/simg/favicon-2x.ico
// @require      https://cdn.staticfile.org/jquery/3.6.4/jquery.min.js
// @run-at       document-idle
// @compatible   edge
// @compatible   chrome
// @compatible   safari
// @grant        none
// ==/UserScript==

function clone_a(name){
    var tmp = $('#b-scopeListItem-images').clone(true).attr('id', name);
    $('#b-scopeListItem-images').after(tmp);
}
function clone_b(name){
    var tmp = $('#b-scopeListItem-flights').clone(true).attr('id', name);
    $('#b-scopeListItem-flights').after(tmp);
}
function check_emp(x) {
  return x.length > 0;
}
function go_dn(elem_name){
    for(
        let cur_li = $(elem_name) , next_li = cur_li.next();
        next_li.length > 0;
        next_li = cur_li.next()
    ){
        next_li.after(cur_li);
    }
}

(function() {
    'use strict';

    var wd = "NONE";

    var path = window.location.pathname.split('/').filter(check_emp);
    if(path.length > 1)
        wd = path[path.length -1];

    var vals = window.location.search.substring(1).split('&');
    for(var i in vals){
        var pair = vals[i].split('=');
        if(pair[0] == "q") wd = pair[1];
    }

    wd = wd.replace(/%20/g,'+');
    wd = wd.split('+').filter(check_emp).join('+');

    try{
        if(vals.length > 2) window.history.replaceState(null, null, 'https://' + window.location.hostname + '/dict/search?mkt=zh-CN&q=' + wd);
    }catch(error){}

//-=-=-=-=-=-=-=-=-=-=-=-=-以下修改各种按钮-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    clone_b('oxford');clone_b('cambridge');

    $("#oxford a").text("oxford");
    $("#oxford a").attr('href','https://www.oxfordlearnersdictionaries.com/definition/english/'+wd);

    $("#cambridge a").text("cambridge");
    $("#cambridge a").attr('href','https://dictionary.cambridge.org/zhs/dictionary/english/'+wd);

    $("#b-scopeListItem-local a").text("pwr thesaurus");
    $("#b-scopeListItem-local a").attr('href','https://www.powerthesaurus.org/'+wd);

    $("#b-scopeListItem-flights a").text("urban dict");
    $("#b-scopeListItem-flights a").attr('href','https://www.urbandictionary.com/define.php?term='+wd);

    go_dn("#b-scopeListItem-flights");
    go_dn("#b-scopeListItem-local");


    clone_a('acronyms');clone_a('jtw');clone_a('anti');clone_a('full_write');clone_a('rhyme');clone_a('wenku');

    $("#wenku a").text("论文例句 & 替词");
    $("#wenku a").attr('href','http://www.esoda.org/?q='+ wd);

    $("#anti a").text("反义词");
    $("#anti a").attr('href','https://zh.powerthesaurus.org/' + wd +'/antonyms');

    $("#rhyme a").text("押韵");
    $("#rhyme a").attr('href','https://www.wordhippo.com/what-is/words-that-rhyme-with/'+ wd + '.html');

    $("#full_write a").text("全写");
    $("#full_write a").attr('href','https://www.allacronyms.com/'+ wd);

    $("#acronyms a").text("缩写");
    $("#acronyms a").attr('href','https://acronymify.com/search?q='+ wd);

    $("#jtw a").text("搭配");
    $("#jtw a").attr('href','http://www.just-the-word.com/main.pl?word='+ wd);

    $("#b-scopeListItem-video a").text("源流");
    $("#b-scopeListItem-video a").attr('href','https://www.etymonline.com/search?q='+ wd);

    $("#b-scopeListItem-images a").text("同义词");
    $("#b-scopeListItem-images a").attr('href','https://www.thesaurus.com/browse/'+ wd);




    go_dn("#wenku");
    go_dn("#b-scopeListItem-images");
    go_dn("#anti");
    go_dn("#acronyms");
    go_dn("#full_write");
    go_dn("#jtw");
    go_dn("#b-scopeListItem-dictionary");
    go_dn("#b-scopeListItem-video");
    go_dn("#rhyme");
    go_dn("#b-scopeListItem-menu");

//-=-=-=-=-=-=-=-=-=-=-=-=-以下显示各种按钮-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

    var mouse_on_effect = {"filter":"drop-shadow(0px 1px 3px #808080)", "transition":"0.1s" , "transition-timing-function": "ease-out",};
    var mouse_out_effect = {"filter":"drop-shadow(0px 1px 3px #d0d0d0)", "transition":"0.1s", "transition-timing-function": "ease-out",};

    const linggle_button = document.createElement('button');
	linggle_button.className = 'btn btn-sm';
	$(linggle_button).css({
        "border":"0",
        "background-color":"transparent",
        "cursor": "pointer",
        "position": "absolute",
        "left": ($("#b_header").position().left + 57) +"px",
        "top": ($("#b_header").position().top + $("#b_header").height() - 12 -3) + "px",
    });
    linggle_button.innerHTML = `
        <img
            src="https://www.linggle.com/linggle-logo.png"
            alt="linggle-logo"
            width=`+ parseInt($(".b_logo").width()*0.6) +`px
        />
    `;
	linggle_button.onclick = function() {
		location.href = "https://www.linggle.com/?q=" + wd;
	}
    document.body.append(linggle_button);


    const ludwig_button = document.createElement('button');
	ludwig_button.className = 'btn btn-sm';
	$(ludwig_button).css({
        "border":"0",
        "background-color":"transparent",
        "cursor": "pointer",
        "position": "absolute",
        "left": ($("#b_header").position().left + 14) +"px",
        "top": ($("#b_header").position().top + $("#b_header").height() - 23 -3) + "px",
    });
    ludwig_button.innerHTML = `
        <img
            src="https://ludwig.guru/icons/icon_144x144.png"
            alt="ludwig-logo"
            height=`+ parseInt($(".b_logo").height()*2.0) +`px
        />
    `;
	ludwig_button.onclick = function() {
		location.href = "https://ludwig.guru/s/" + wd;
	}
    document.body.append(ludwig_button);

    var gaoshan_height = parseInt($("#sb_form_q").height() * 1.2);
    const gaoshan_button = document.createElement('button');
	gaoshan_button.className = 'btn btn-sm';
    $(gaoshan_button).css({
        "border":"0",
        "background-color":"transparent",
        "cursor": "pointer",
        "position": "absolute",
        "left": parseInt(
            $("#sb_search").position().left + $("#sb_search").width()
            + 1.7*gaoshan_height //**********+ $(".b_logo").width()+1.45
        ) +"px",
        "top": parseInt(
            $("#sb_form_q").position().top
            + $("#sb_form_q").height()
            - gaoshan_height
            + 2
        ) + "px",
    });
    $(gaoshan_button).css(mouse_out_effect);
    gaoshan_button.onmouseout = function(){
        $(gaoshan_button).css(mouse_out_effect);
    }
    gaoshan_button.onmouseover = function(){
        $(gaoshan_button).css(mouse_on_effect);
    }
    gaoshan_button.innerHTML = `
        <img
            src= "https://pic3.zhimg.com/v2-23056dfc4cb2193ea32e50a5679cbfce_r.jpg"
            alt="gaoshan-logo"
            height=`+ gaoshan_height +`px
        />
    `;
	gaoshan_button.onclick = function() {
		location.href = "http://www.dicts.cn/";
	}
    document.body.append(gaoshan_button);

    const deepl_button = document.createElement('button');
	deepl_button.className = 'btn btn-sm';
    $(deepl_button).css({
        "border":"0",
        "background-color":"transparent",
        "cursor": "pointer",
        "position": "absolute",
        "left": parseInt(
             $("#sb_search").position().left + $("#sb_search").width()
            + 0.36*gaoshan_height //**********+ $(".b_logo").width()+0.1
        ) +"px",
        "top": parseInt(
            $("#sb_form_q").position().top
            + $("#sb_form_q").height()
            - gaoshan_height
            + 7
        ) + "px",
    });
    $(deepl_button).css(mouse_out_effect);
    deepl_button.onmouseout = function(){
        $(deepl_button).css(mouse_out_effect);
    }
    deepl_button.onmouseover = function(){
        $(deepl_button).css(mouse_on_effect);
    }
    deepl_button.innerHTML = `
        <img
            src= "https://pic2.zhimg.com/v2-3f7a7d54571f78d73bb847c392abe575_r.jpg"
            alt="deepl-logo"
            height=`+ gaoshan_height +`px
        />
    `;
	deepl_button.onclick = function() {
		location.href = "https://www.deepl.com/translator#auto/auto/" + wd.replace(/\+/g,' ');
	}
    document.body.append(deepl_button);

    const mw_button = document.createElement('button');
	mw_button.className = 'btn btn-sm';
    $(mw_button).css({
        "border":"0",
        "background-color":"transparent",
        "cursor": "pointer",
        "position": "absolute",
        "left": parseInt(
             $("#sb_search").position().left + $("#sb_search").width()
            + 3.035*gaoshan_height //**********+ $(".b_logo").width()+0.1
        ) +"px",
        "top": parseInt(
            $("#sb_form_q").position().top
            + $("#sb_form_q").height()
            - gaoshan_height
            + 2
        ) + "px",
    });
    $(mw_button).css(mouse_out_effect);
    mw_button.onmouseout = function(){
        $(mw_button).css(mouse_out_effect);
    }
    mw_button.onmouseover = function(){
        $(mw_button).css(mouse_on_effect);
    }
    mw_button.innerHTML = `
        <img
            src= "https://dictionaryapi.com/images/MWLogo_120x120_2x.png"
            alt="mw-logo"
            height=`+ (gaoshan_height+1) +`px
        />
    `;
	mw_button.onclick = function() {
		location.href = "https://www.merriam-webster.com/dictionary/" + wd;
	}
    document.body.append(mw_button);

//-=-=-=-=-=-=-=-=-=-=-=-=-=-以下显示有道-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    $(".sidebar").css("display", "none");
    $("#id_rh").css("display", "none");

    if( wd=="NONE" ) return;

    var youdao_top_padding = 190;
    var youdao_left_padding = 120;
    var youdao_width = 640;
    var bing_width = $(".lf_area").width(); //532
    var margin = window.innerWidth -youdao_width -bing_width;

   
    $("#b_footer").css("display", "none");

    $(".lf_area").css({
        "position": "absolute",
        "left": parseInt(margin * 0.34)+"px",
    });

    //$('#ex_id').click()//trigger("click");
    $('.pos_close').click()//trigger("click");

    if( !($(".no_results").is(":visible")) ){
        let m = `
            <div
                style="
                    overflow: hidden;
                    position: absolute;
                    right:`+ parseInt(margin * 0.16) +`px;
                    top: `+ $(".contentPadding").position().top +`px;
                    width:`+ youdao_width +`px;
                "
            >
                <iframe
                    style="
                        position:relative;
                        top: `+ (-youdao_top_padding) +`px;
                        left:`+ (-youdao_left_padding)+`px
                    "
                    src="https://dict.youdao.com/w/` + wd.replace(/\+/g,' ') + `"
                    frameborder=0
                    scrolling="no"
                    width="` + (youdao_left_padding + youdao_width) + `px"
                    height="` + $(document).height()*1.02 + `px"
                >
                </iframe>
            </div>
        `
        $(m).appendTo(document.body);
    }else{
        let m = `
            <div
                style="
                    overflow: hidden;
                    position: absolute;
                    left:`+ 0 +`px;
                    top: `+ ($("#b_header").height() + 25) +`px;
                    width:` + $("#b_header").width() +`px;
                "
            >
                <iframe
                    width="`+ $("#b_header").width() +`px"
                    style="
                        position:relative;
                        top: `+ (-youdao_top_padding) +`px
                    "
                    src="https://www.youdao.com/w/` + wd.replace(/\+/g,' ')+ `"
                    frameborder=0
                    scrolling="no"
                    height=` + ($(document).height()) + `"px"
                >
                </iframe>
            </div>

            <div
                style="
                    overflow: hidden;
                    position: absolute;
                    background-color: #fcfcfe;
                    left:`+ 810 +`px;
                    top: `+ ($("#b_header").height() + 50) +`px;
                    width:` + ($("#b_header").width() -850) +`px;
                    height:` + ($(document).height() -200) + `px
                "
            >
            </div>
        `
        $(m).appendTo(document.body);
    }
})();