// ==UserScript== // @name 按 / 回到搜索框 // @namespace http://tampermonkey.net/ // @version 0.01.5 // @description 在浏览网站内容时,想进行新的一次搜索,又想回到搜索框输入新的搜索关键词,又不想动鼠标,难受!安装该脚本后,即可通过按下 ` / ` 键回到搜索框,进行输入。 // @author missiont522 // @license MIT // @match https://*.baidu.com/* // @match https://*.bing.com/* // @match https://*.sogou.com/* // @match https://*.taobao.com/* // @include https://*.bilibili.com/* // @match https://*.greasyfork.org/* // @match https://*.douban.com/* // @match https://wht.im/* // @match https://fanyi.sogou.com/* // @match https://share.dmhy.org/* // @match https://weibo.com/* // @match https://www.shanbay.com/* // @include /^https:\/\/(kns\.)?(w*\.)?cnki\.net.*$/ // @match https://juejin.cn/* // @match https://www.douyin.com/* // @match https://baike.baidu.com/* // @grant GM_addStyle // @todo siteList.queryS // @downloadURL none // ==/UserScript== const methods = () => { console.log(`---${this.id},${this.name},'${this.query}'---`); }; const doubanMeth = () => { }; const weiboMeth = () => {}; const siteList = [ { id: 0, name: "baidu", query: "#kw.s_ipt", methods }, { id: 1, name: "google", query: "没有", methods }, { id: 2, name: "bing", query: "#sb_form_q.b_searchbox", methods }, { id: 3, name: "sogou", query: "#upquery.query", methods }, { id: 4, name: "taobao", query: "#q.search-combobox-input", methods }, { id: 5, name: "bilibili", query: ".nav-search-input", methods }, { id: 6, name: "search.bilibili", query: ".search-input-el", methods }, { id: 7, name: "greasyfork", query: '[type="search"]', methods }, { id: 8, name: "douban", query: "#inp-query", methods: doubanMeth }, { id: 9, name: "wht.im", query: "input.float-left.search-keyword", methods }, { id: 10, name: "fanyi.sogou", query: "#trans-input", methods }, { id: 11, name: "dmhy", query: "input#keyword", methods }, { id: 12, name: "weibo", query: "input.woo-input-main", methods: weiboMeth }, { id: 13, name: "shanbay", query: "#search .input", methods }, { id: 14, name: "cnki", query: ".search-input", methods }, { id: 14, name: "juejin", query: ".search-input", methods }, { id: 15, name: "douyin", query: 'form input[type="text"]', methods }, { id: 16, name: "baike.baidu", query: 'form input[type="text"]', methods }, { id: 17, name: "tieba.baidu", query: '#wd1', methods }, // { id: 99, name: 'douyin', query: 'form input[type="search"]', methods,}, ]; const addKeydownListener = (form, siteItem, recursion) => { if (form) { console.log(form); document.documentElement.addEventListener("keydown", (evt) => { if (evt.target === document.body && evt.key == "/") { form.focus(); evt.preventDefault(); const tempv = form.value; form.value = ""; form.value = tempv; } }); } else { setTimeout(() => { if (recursion < 5) { recursion++; const newForm = document.querySelector(siteItem.query); addKeydownListener(newForm, siteItem, recursion); } else { console.log("element not found"); return; } }, 2000); } }; siteList.forEach((item) => { if (!location.host.includes(item.name)) return; const searchForm = document.querySelector(item.query); addKeydownListener(searchForm, item, 0); });