快捷键搜索:Quick Search or Open URL

使用百度搜索选定文本或在新选项卡中打开URL Search selected text with Baidu or open URL in a new tab

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name         快捷键搜索:Quick Search or Open URL
// @namespace    http://tampermonkey.net/
// @version      0.3
// @description  使用百度搜索选定文本或在新选项卡中打开URL Search selected text with Baidu or open URL in a new tab
// @author       chatgpt
// @match        *://*/*
// @grant        none
// @license      MIT
// ==/UserScript==

(function() {
    'use strict';

    function isValidURL(string) {
        try {
            new URL(string);
            return true;
        } catch (_) {
            return false;
        }
    }

    document.addEventListener('keydown', function(e) {
        if (e.ctrlKey && e.key === 'e') {
            e.preventDefault(); // 阻止默认行为
            let selectedText = window.getSelection().toString().trim();
            if (selectedText) {
                if (isValidURL(selectedText)) {
                    if (!selectedText.startsWith('http')) {
                        selectedText = 'http://' + selectedText;
                    }
                    window.open(selectedText, '_blank');
                } else {
                    let searchUrl = `https://www.baidu.com/s?wd=${encodeURIComponent(selectedText)}`;
                    window.open(searchUrl, '_blank');
                }
            }
        }
    });
})();