建立搜索引擎允许的语法上使我们更快找到自己所需要的内容!
// ==UserScript==
// @name GoogleEasySearch
// @version 2.9
// @license MIT
// @description 建立搜索引擎允许的语法上使我们更快找到自己所需要的内容!
// @author 小乘字节
// @match *.google.com/*
// @include http*://www.google.*/*
// @icon https://www.google.com/s2/favicons?sz=64&domain=google.com
// @grant none
// @require http://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.0/jquery.min.js
// @namespace https://blog.csdn.net/qq_38238956?type=blog
// ==/UserScript==
(function() {
'use strict';
// 配置Google搜索语法
let dict = [
{
"value": "AND ",
"describe": "并且"
},
{
"value": "OR ",
"describe": "或者"
},
{
"value": "intitle:",
"describe": "标题包含"
}, {
"value": "intext:",
"describe": "内容包含"
}, {
"value": "site:",
"describe": "指定网站"
}, {
"value": "index of /",
"describe": "网站目录"
}, {
"value": "inurl:",
"describe": "指定路径"
}, {
"value": "filetype:",
"describe": "文件类型"
}, {
"value": "similar to ",
"describe": "相似网站"
}, {
"value": "alternative to ",
"describe": "相似软件"
}, {
"value": "link:",
"describe": "查找外链"
}, {
"value": "define ",
"describe": "词的意思"
}, {
"value": "weather:",
"describe": "查询天气"
}, {
"value": "movie:",
"describe": "电影信息"
}, {
"value": "stocks:",
"describe": "查询股票"
}
];
let q = jQuery("input[name='q']");
let form = q.parent().parent().parent().parent().parent().parent().filter("form");
let RNNXgb = form.find("div.RNNXgb");
let newValue = q.val();
let logo = form.find("div.logo");
let sfbg = jQuery("div.sfbg");
jQuery("head").append(`<style>
.earySearch{
position: absolute;
top: 38px;
left: ${window.location.pathname === "/search"? "2.5vw":"calc(50% - 410px)"};
}
.earySearch select{
width: 100px;
background-color: #fff;
}
.earySearch select option{
font-weight: 700;
text-align: center;
}
</style>`);
sfbg.height(sfbg.height()+20);
logo.css("top", "0px");
form.css({"position": "relative"});
// 添加相关元素
RNNXgb.before(`<div class="easySearchText" style="margin:0 0 5px 0;color:#758a99;">
模糊匹配【*】、精确匹配【" "】、过滤【-】、包含【+】、范围【..】
</div>`);
form.append(`<div class='earySearch'>
<select class='earySearchDict'>
<option value='-1'>--进阶搜索--</option>
<option value='https://blog.csdn.net/qq_38238956/article/details/126424625' style="color:#00e09e;">使用帮助</option>
</select>
</div>`);
let earySearch = form.find("div.earySearch");
let earySearchDict = earySearch.find(".earySearchDict");
dict.map((data)=>{
earySearchDict.append(`<option value='${data.value}'>${data.describe}</option>`);
});
// 监听select元素
earySearchDict.change(function() {
let index = this.selectedIndex;
if (index === 0) {
return;
}else if(index === 1){
window.location.href = this.value;
return;
}
// 向搜索框添加内容
q.val(newValue.concat(" ", this.value));
q.focus();
});
// 获取键盘输入的内容
q.on("input", function() {
clearTimeout(this.myTimeOut);
let _this = this;
this.myTimeOut = setTimeout(()=>{
newValue = _this.value;
}, 300);
});
// 清空搜索框
let ariaLavel = jQuery("div.BKRPef > div");
ariaLavel.on('click', function() {
newValue = '';
});
})();