返回首頁 

Greasy Fork is available in English.

右键搜索增强

在右键菜单中,添加额外的搜索选项,选中文字后,点击右键,然后选择相应的搜索就可以直接跳转到对应的搜索、翻译、电商等##(只测试过chrome+油猴)。

  1. // ==UserScript==// @name 右键搜索增强// @namespace http://tampermonkey.net/// @description 在右键菜单中,添加额外的搜索选项,选中文字后,点击右键,然后选择相应的搜索就可以直接跳转到对应的搜索、翻译、电商等##(只测试过chrome+油猴)。// @version 1.2// @author 桃源隐叟// @include *// @grant GM_registerMenuCommand// @grant GM_openInTab// @grant GM_setValue// @grant GM_getValue// @run-at document-end// @match *// @homepageURL https://github.com/taoyuancun123/modifyText/blob/master/modifyText.js// @supportURL https://greasyfork.org/zh-CN/scripts/437574/feedback// @license GPLv3// ==/UserScript==(function() {'use strict';var selection='';//***********设置区域 */var setting={init:()=>{document.body.insertAdjacentHTML("afterbegin",setting.settingHtml);document.body.querySelector("#tyc-close").onclick=()=>{document.body.querySelector(".tyc-rc-container").style="display:none;";}setting.readItem();setting.insertItemToHtml();setting.changeItem();setting.deleteItem();document.body.querySelector(".tyc-add-item").onclick=()=>{setting.addItem();}},settingHtml:`<style>.tyc-rc-container{z-index:9999999999999999;display: block;width: 450px;height: auto;padding: 10px 5px;background: #fff;box-shadow: 0 1px 3px rgba(18,18,18,.1);border:1px solid rgba(18,18,18,.02);border-radius: 5px;position:fixed;right:50px;top:50px;}.tyc-rc-list{display: flex;align-items: center;flex-direction: column;flex-wrap: nowrap;justify-content: center;align-content: center;margin: 5px 0px;border-top: 1px solid rgba(188,188,188,.1);padding-top: 5px;}.tyc-rc-item{display: flex;align-items: center;flex-wrap: nowrap;justify-content: center;align-content: center;margin-bottom: 5px;}.tyc-rc-item input,.tyc-rc-item button{margin: 0px 5px;}.tyc-rc-container button{width: 50px;height: 30px;color: #563d7c;background-color: transparent;border-color: #563d7c;cursor: pointer;border: 1px solid;border-radius: 6px;}</style><div class="tyc-rc-container"><div><button class="tyc-add-item">新增</button><button id="tyc-close" style="float: right;">X</button></div><div class="tyc-rc-list"></div></div>`,searchItemHtml:`<div class="tyc-rc-item"><input type="checkbox" name="sites" class="tyc-show-in-menu"><input type="text" name="title" placeholder="输入将显示在菜单中的提示名" class="tyc-search-title"><input type="text" name="urls" placeholder="参考其他例子,输入除关键词外的网址部分" class="tyc-search-url"><button class="tyc-delete">删除</button></div>`,searchItems:[{title:"使用百度翻译",url:"https://fanyi.baidu.com/#zh/en/",show:true,index:0},//{title:"google translate",url:"https://translate.google.cn/?sl=auto&tl=zh-CN&op=translate&text=",show:true,index:1},{title:"search in google",url:"https://www.google.com/search?q=",show:true,index:2},{title:"在知乎中搜索",url:"https://www.zhihu.com/search?type=content&q=",show:true,index:3}],insertItemToHtml:()=>{let items=setting.readItem();items.forEach((item,index) => {let itemHtml=`<div class="tyc-rc-item" id="tyc-rc-item-${index}" data-index="${index}"><input type="checkbox" name="sites" class="tyc-show-in-menu" id="tyc-show-in-menu-${index}" data-index="${index}"><input type="text" name="title" placeholder="输入将显示在菜单中的提示名" class="tyc-search-title" id="tyc-search-title-${index}" data-index="${index}"><input type="text" name="urls" placeholder="参考其他例子,输入除关键词外的网址部分" class="tyc-search-url" id="tyc-search-url-${index}" data-index="${index}"><button class="tyc-delete" id="tyc-delete-${index}" data-index="${index}">删除</button></div>`document.body.querySelector(".tyc-rc-list").insertAdjacentHTML("beforeend",itemHtml);document.body.querySelector(`#tyc-search-title-${index}`).value=item.title;document.body.querySelector(`#tyc-search-url-${index}`).value=item.url;document.body.querySelector(`#tyc-show-in-menu-${index}`).checked=item.show;});},addItem:()=>{let searchItemsLength=document.body.querySelectorAll(".tyc-rc-item").length;let itemHtml=`<div class="tyc-rc-item" id="tyc-rc-item-${searchItemsLength}"><input type="checkbox" name="sites" class="tyc-show-in-menu" id="tyc-show-in-menu-${searchItemsLength}"><input type="text" name="title" placeholder="输入将显示在菜单中的提示名" class="tyc-search-title-" id="tyc-search-title-${searchItemsLength}"><input type="text" name="urls" placeholder="参考其他例子,输入除关键词外的网址部分" class="tyc-search-url" id="tyc-search-url-${searchItemsLength}"><button class="tyc-add-new" id="tyc-add-new-${searchItemsLength}">增加</button></div>`document.body.querySelector(".tyc-rc-list").insertAdjacentHTML("beforeend",itemHtml);document.body.querySelector(`#tyc-add-new-${searchItemsLength}`).onclick=()=>{let isShow=document.body.querySelector(`#tyc-show-in-menu-${searchItemsLength}`).checked;let title=document.body.querySelector(`#tyc-search-title-${searchItemsLength}`).value;let url=document.body.querySelector(`#tyc-search-url-${searchItemsLength}`).value;setting.searchItems.push({title:title,url:url,show:isShow});GM_setValue("searchItems",setting.searchItems);setting.refreshList();addContextMenu.registerMenu();}},deleteItem:()=>{document.body.querySelectorAll(".tyc-delete").forEach(item=>{item.onclick=(e)=>{e.preventDefault();let index=e.target.dataset.index;setting.searchItems.splice(index,1);GM_setValue("searchItems",setting.searchItems);console.log(setting.searchItems);console.log(GM_getValue("searchItems"));setting.refreshList();}})},readItem:()=>{if(!GM_getValue('searchItems')){GM_setValue('searchItems',setting.searchItems);return setting.searchItems;}else{setting.searchItems=GM_getValue('searchItems');return setting.searchItems;}},changeItem:()=>{document.body.querySelectorAll(".tyc-show-in-menu").forEach(item=>{item.onclick=e=>{console.log(e);let index=e.target.dataset.index;setting.searchItems[index].show=e.target.checked;GM_setValue('searchItems',setting.searchItems);}})document.body.querySelectorAll(".tyc-search-title").forEach(item=>{item.onchange=e=>{console.log(e);let index=e.target.dataset.index;setting.searchItems[index].title=e.target.value;GM_setValue('searchItems',setting.searchItems);}})document.body.querySelectorAll(".tyc-search-url").forEach(item=>{item.onchange=e=>{console.log(e);let index=e.target.dataset.index;setting.searchItems[index].url=e.target.value;GM_setValue('searchItems',setting.searchItems);}})},refreshList:()=>{document.body.querySelector(".tyc-rc-list").innerHTML='';setting.insertItemToHtml();setting.deleteItem();setting.changeItem();}}//设置区域结束var addContextMenu={registerMenu:()=>{let items=setting.readItem();//console.log(items);items.forEach((item) => {GM_registerMenuCommand(item.title,()=>{let targetUrl='';targetUrl=item.url+selection;GM_openInTab(targetUrl, {active:true});});});},}window.oncontextmenu=e=>{selection=e.view.getSelection().toString();}//setting.init();addContextMenu.registerMenu();GM_registerMenuCommand('打开设置',setting.init);})();