快速切换百度谷歌有道词典搜索

快速切换百度谷歌有道词典搜索, g键: google, y键: 有道单词, b键: 百度, a键: 当前搜索增加 site:developer.apple.com

目前为 2015-10-31 提交的版本。查看 最新版本

// ==UserScript==
// @name        switchToBaiduGoogleYoudaoDict
// @name:zh-CN  快速切换百度谷歌有道词典搜索
// @namespace   https://github.com/chenshengzhi
// @description 快速切换百度谷歌有道词典搜索, g键: google, y键: 有道单词, b键: 百度, a键: 当前搜索增加 site:developer.apple.com
// @description:zh-CN  快速切换百度谷歌有道词典搜索, g键: google, y键: 有道单词, b键: 百度, a键: 当前搜索增加 site:developer.apple.com
// @version     0.0.1
// @require     http://cdn.staticfile.org/jquery/2.1.1/jquery.min.js
// @grant       GM_openInTab 
// @license     GPL version 3
// @homepageURL https://greasyfork.org/scripts/13501/
// @include     *www.baidu.com/s?*
// @include     *dict.youdao.com/search?*
// @include     *www.google.com.hk/search?*
// ==/UserScript==

$(document).ready(function() {
    function isBaiduSearch() {
        return location.href.indexOf('www.baidu.com/s?') != -1;
    }

    function isYoudaoDictSearch() {
        return location.href.indexOf('dict.youdao.com/search?') != -1;
    }

    function isGoogleSearch() {
        return location.host.indexOf('google.com') != -1 && location.href.indexOf('/search?') != -1;
    }
    var searchUrlPrefixs = {
        'b': 'https://www.baidu.com/s?ie=utf-8&wd=',
        'g': 'https://www.google.com.hk/search?q=',
        'y': 'http://dict.youdao.com/search?q=',
    }

    function getSearchUrlPrefix() {
        if (isBaiduSearch()) {
            return searchUrlPrefixs['b'];
        } else if (isGoogleSearch()) {
            return searchUrlPrefixs['g'];
        } else {
            return '';
        }
    }

    function searchStr() {
        if (isBaiduSearch()) {
            return $('#kw').val();
        } else if (isYoudaoDictSearch()) {
            return $('#query').val();
        } else if (isGoogleSearch()) {
            return $('#lst-ib').val();
        } else {
            return '';
        }
    }
    document.body.onkeypress = function(e) {
        var ae = document.activeElement;
        if (!ae) {
            console.log('no activeElement');
            return;
        }
        if (ae.tagName == 'INPUT') {
            console.log(ae.tagName);
            return;
        }
        var keyCode;
        if (window.event) {
            keyCode = event.keyCode;
        } else {
            keyCode = e.which;
        }
        var kyeStr = String.fromCharCode(keyCode);
        console.log(kyeStr);
        if ((keyCode == 121 /*y*/ || keyCode == 89) && !isYoudaoDictSearch()) {
            GM_openInTab(encodeURI(searchUrlPrefixs['y'] + searchStr()));
        } else if ((keyCode == 103 /*g*/ || keyCode == 71) && !isGoogleSearch()) {
            GM_openInTab(encodeURI(searchUrlPrefixs['g'] + searchStr()));
        } else if ((keyCode == 98 /*b*/ || keyCode == 66) && !isBaiduSearch()) {
            GM_openInTab(encodeURI(searchUrlPrefixs['b'] + searchStr()));
        } else if (keyCode == 97 /*a*/ || keyCode == 65) {
            var prefix = getSearchUrlPrefix();
            if (prefix.length > 0) {
                GM_openInTab(encodeURI(getSearchUrlPrefix() + searchStr() + ' site:developer.apple.com'));
            }
        } else {
            console.log(keyCode);
        }
    }
});