[Homemade] Chrome Shortcuts for Search and Translate

Alt+S to Search selected, Alt+T to Translate selected.

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @name         [Homemade] Chrome Shortcuts for Search and Translate
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  Alt+S to Search selected, Alt+T to Translate selected.
// @author       Liam
// @match        *://*/*
// @grant        none
// @license MIT 
// ==/UserScript==

(function() {
    'use strict';

    document.addEventListener('keydown', function(event) {
/*         console.log(`Key pressed: ${event.key}, Ctrl: ${event.ctrlKey}, Alt: ${event.altKey}`); */

        var selection = window.getSelection().toString();

        if (event.altKey && event.key.toLowerCase() === 's' && !event.shiftKey && !event.ctrlKey) {
/*             console.log(`Selection for search: ${selection}`); */
            if (selection) {
                window.open('https://www.google.com/search?q=' + encodeURIComponent(selection));
            }
        }

        if (event.altKey && event.key.toLowerCase() === 't' && !event.shiftKey && !event.ctrlKey) {
/*             console.log(`Selection for translation: ${selection}`); */
            if (selection) {
                window.open('https://translate.google.com/?sl=auto&tl=zh-CN&text=' + encodeURIComponent(selection) + '&op=translate');
            }
        }

        if (event.shiftKey && event.altKey && event.key.toLowerCase() === 't' && !event.ctrlKey) {
/*             console.log(`Selection for translation: ${selection}`); */
            if (selection) {
                window.open('https://translate.google.com/?sl=auto&tl=en&text=' + encodeURIComponent(selection) + '&op=translate');
            }
        }
    });
})();