您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
切换搜索引擎
// ==UserScript== // @name 搜索引擎切换 // @namespace http://tampermonkey.net/ // @version 0.1.3 // @description 切换搜索引擎 // @match *://www.baidu.com/*/s* // @match *://m.baidu.com/*/s* // @match *://www.baidu.com/s* // @match *://www.baidu.com/s* // @match *://www.baidu.com/baidu* // @match *://m.baidu.com/baidu* // @match *://duckduckgo.com/* // @match *://search.brave.com/search* // @match *://www.google.com/search* // @match *://www.google.com.hk/search* // @match *://weixin.sogou.com/weixin* // @match *://www.bing.com/search* // @match *://cn.bing.com/search* // @match *://www.zhihu.com/search* // @match *://search.cnki.com.cn/Search/Result* // @match *://www.sogou.com/web* // @match *://m.sogou.com/web* // @grant unsafeWindow // @grant GM_getValue // @grant GM_setValue // @run-at document-body // @license MIT // ==/UserScript== (function () { "use strict"; // 搜索网址配置 const urlMapping = { 'google': { name: "Google", searchUrl: "https://www.google.com/search?q=", keyName: "q", }, 'baidu': { name: "百度", searchUrl: "https://www.baidu.com/s?wd=", keyName: ["wd", 'word'], }, 'bing': { name: "Bing", searchUrl: "https://www.bing.com/search?q=", keyName: "q", }, 'sogou': { name: "搜狗", searchUrl: "https://www.sogou.com/web?query=", keyName: ["keyword", 'query'], }, 'brave': { name: "Brave", searchUrl: "https://search.brave.com/search?q=", keyName: "q", }, 'duckduckgo': { name: "DuckDuckGo", searchUrl: "https://duckduckgo.com/?q=", keyName: "q", }, 'weixin': { name: "微信文章", searchUrl: "https://weixin.sogou.com/weixin?type=2&s_from=input&query=", keyName: "query", }, 'zhihu': { name: "知乎", searchUrl: "https://www.zhihu.com/search?q=", keyName: "q", }, 'cnki': { name: "知网", searchUrl: "https://search.cnki.com.cn/Search/Result?content=", keyName: "content", }, }; const extraReg = { 'weixin.sogou.com': 'weixin', } const iconBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAEU0lEQVRoQ+2ZWahVVRjHtUEcSi0DzahwKqdCbXgII4gk0hweRKzwITRNUHNAUksMzAohGh+yyIn0TVBTXywFU1PUypxQQ1GsiDItMyvL+v1kn7ht9jlnrX3OPZwLffBjn3vPWt9a/7XX8H3rNG/WxK15E+9/s2oKaM1gXANXwy/wUy0GpxIB19PBR2E43AM3pzp8lr/3wXpYDYcbQ1AeAbfTkRdhBFzVoFPf8vlH+AMU1zl5G4Uie/kwFz6sppAYAe1o+BUYl3Tczq6DNfAR/JzqmFPJNzMsEatw7ROYDAqq2EIFdKOltdAbzsPb8FJGp0t16CG+fA36wm/wFHxQqYIQAffTiHPYafExPAHf5WzYt/I8OJW0eTA/p6/L1coJ6EqZnXADvAuT4GIlDSZ1R/JcCm3gaViU12cpAW1xuh36wFswJW8jReoN4v8b4G94GDbn8V9KwHs4dMFuhMHwZ54GytRxUN6AU3AbXIhto5gAF+uX4IHUHX6IdRxR3nPCAZoN7nJRVkyAi9YDag68HOUxvvAdVPkczoG7ndtzsGUJ6Ejtb5JR78Lz12Bv+Qsup+oYmAavx7jJEuD+7I7jGhgf46yCsm7VW+BTuC/GT5YAT9chYJzj/KyFXZG88Wt5doD0qV60D1kCvqf0daCz6F2hArWFxezb2BrqJy2gPRXPwDFwQdXSXqWx6fAkLA1tOC3ARWvnd8G9oU6qVM4db0EiwpgpyNICelDrCEQvpqDWSheaydcL4dnkGeQyLeBGarmFHgCjxlqaQZ2B3kR4J7ThtIArqejp+xe4iI1TamUraOhxcAc0RgqyrF3oM2r2B0/I/UFeqlPoEG56ghHw8VCXWQJMF59LXqeLqhZmPn0y4daYBrME3I0Dd6HdYEpYC3PhGsiZ6ZluBluWAP/3VfIqjdnNdxvTvIo5CsZgDp5TONiKRaMGVgZYJt4D4FKwx/iCL1DF1HIVmKlFWTEBxiZ7oB88A29GeQ0vbN5hytoS3Laj745KZWQDcbgJLPMIVHsqGbTZeUMWcw5P4mgrl9RPwKOHikmG+/OO6BayK3jD4X2Sg2QY/SB49kRbOQE6NMFwGlXrLqcXvrxjMlU9Dd6pDgWvbKItRIBO3ea8yHJtrASP/ODDJumVHZ0Ks8BT3n3/luQ7sz5v8KJFhAqwHUdpCTh3fwcztvfhizLD1onvH4MZcBM4VZbBaFBUwRRhG667YIsRoFPvRx1Bp1SrpJWveW4DdxCnhBdfJkSG5nfBneCb07zYtf5BMHEx5vEcKFj0m4gVUGjIm+exMArKRa1eQzrnF0N6E6hYRF4BDQbt8gnqeeHFlHO7BXhFcgIMyw3SSllFIqohoEz/gr7OLaJeBKgyl4h6EpBLRL0JiBZRjwKiRNSrgGAR9SxAEQZ5Hn4NT2yDvwcKe1u9C0i/Ca/h/bHw3yv4piCgIMILBn+b/s/vB01FQNHT8H8BQYFCIxb6B7quzDGJddU4AAAAAElFTkSuQmCC' // 从url中获取搜索关键词 function getKeywords() { const urlInfo = new URL(window.location.href) const domain = urlInfo.host.replace('www.', '') let current = extraReg[domain]; if (!current) { for (const [index,item] of Object.entries(urlMapping)) { if (domain.indexOf(index) !== -1) { current = index; break; } } } console.log({current}) let keyword = ""; const urlParser = new URL(window.location.href); const keyName = urlMapping[current].keyName; if (Array.isArray(keyName)) { keyName.map(key=> { const v = urlParser.searchParams.get(key); if (v) { keyword = v; } }); } else { keyword = urlParser.searchParams.get(keyName); } return keyword; } const style = ` <style> #search-app-box { position: fixed; top: 140px; left: 0px; background-color: hsla(200, 40%, 96%, .9); font-size: 12px; border-radius: 6px; z-index: 99999; } #search-app-box .search-engine-icon { width: 20px; padding: 8px; } #search-app-box .search-engine-title { display: block; white-space: nowrap; color: hsla(211, 60%, 35%, .8); text-align: center; margin-top: 10px; margin-bottom: 5px; font-size: 12px; font-weight: bold; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } #search-app-box .search-engine-a { display: block; white-space: nowrap; color: #132d4a; padding: 8px; text-decoration: none; } #search-app-box .hide { display: none; } #search-app-box .search-engine-a:hover { background-color: hsla(211, 60%, 35%, .1); } </style>`; // 添加节点 function addBox() { // 主元素 const div = document.createElement("div"); div.innerHTML = style div.id = 'search-app-box' document.body.insertAdjacentElement("afterbegin", div); let icon = document.createElement("img"); icon.className = "search-engine-icon"; icon.src = iconBase64 div.appendChild(icon); const searchItemsBox = document.createElement("div"); searchItemsBox.className = "search-engine-items-box hide"; let title = document.createElement("span"); title.innerText = "搜索引擎"; const toggleBox = () => { const isHideBox = searchItemsBox.classList.contains('hide') if (isHideBox) { searchItemsBox.classList.remove('hide') icon.classList.add('hide') } else { searchItemsBox.classList.add('hide') icon.classList.remove('hide') } } title.className = "search-engine-title"; searchItemsBox.appendChild(title); div.addEventListener("click", (event) => { const classList = event.target.classList if (classList.contains('search-engine-icon') || classList.contains('search-engine-title')) { toggleBox() } }); // 搜索列表 const keyword = getKeywords() for (const [index,item] of Object.entries(urlMapping)) { // 设置搜索引擎链接 let a = document.createElement("a"); a.innerText = item.name; a.className = "search-engine-a"; a.href = item.searchUrl + keyword; searchItemsBox.appendChild(a); } div.appendChild(searchItemsBox) } window.addEventListener("load", (event) => { addBox() }); })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址