// ==UserScript== // @name GoogleEasySearch // @version 1.0 // @license MIT // @description 建立搜索引擎允许的语法上使我们更快找到自己所需要的内容! // @author 小乘字节 // @match *.google.com/* // @icon https://www.google.com/s2/favicons?sz=64&domain=google.com // @grant none // @require http://libs.baidu.com/jquery/2.0.0/jquery.min.js // @namespace https://greasyfork.org/users/948036 // @downloadURL none // ==/UserScript== (function() { 'use strict'; // 配置Google搜索语法 let dict = [{ "value": "intitle:", "describe": "包含的标题" }, { "value": "intext:", "describe": "包含的内容" }, { "value": "site:", "describe": "指定网站" }, { "value": "index of /", "describe": "网站目录" }, { "value": "inurl:", "describe": "指定路径" }, { "value": "filetype:", "describe": "文件类型" }, { "value": "related:", "describe": "相似网站" }, { "value": "link:", "describe": "查找外链" }]; // 统一管理CSS样式 type: 1(下拉列表的父级元素)、2(下拉列表、dict) function earySearchCSS(type, el) { switch (type) { case 1: el.css({ "position": "absolute", "top": 5, "left": earySearchX }); break; case 2: el.css({ "width": "100px", "text-align": "center" }); break; } } let form = $("form[action='/search']"); let q = $("input[name='q']"); let earySearchX = form.width() + 50; let earySearchY = form.offset().top; let newValue = q.val(); // 添加相关元素 form.append("
"); let earySearch = $("div.earySearch"); earySearchCSS(1, earySearch); earySearch.prepend(""); let earySearchDict = $(".earySearch .earySearchDict") dict.map((data)=>{ earySearchDict.append(``); } ); earySearchCSS(2, earySearchDict); // 监听select元素 earySearchDict.change(function() { if (this.value === "-1") { return; } // 向搜索框添加内容 q.val(newValue.concat(" ", this.value)); // 1秒后重置选项 setTimeout(()=>{ this.value = "-1" }, 1000); }); // 获取键盘输入的内容 q.on("input", function() { clearTimeout(this.myTimeOut) let _this = this; this.myTimeOut = setTimeout(()=>{ newValue = _this.value; }, 300) }) // 清空搜索框 let ariaLavels = [$("div[aria-label='清除']"),$("div[aria-label=' Clear']")]; ariaLavels.map((ariaLavel)=>{ console.log(ariaLavel); ariaLavel.on('click', function() { newValue = ''; }) }); })();