// ==UserScript== // @name 多吉搜索直达按钮(暨多吉搜索页面美化) // @description 给百度、360、搜狗、必应、谷歌等搜索引擎的结果页加入多吉搜索按钮,一键跳转到多吉搜索进行相同关键词的检索;给多吉搜索结果页增加谷歌搜索按钮,并提供简约样式美化功能。 // @icon https://www.dogedoge.com/assets/doge_ico.png // @namespace https://greasyfork.org/zh-CN/users/393603-tsing // @version 3.1 // @author Tsing // @run-at document-start // @include *://ipv6.baidu.com/s?* // @include *://www.baidu.com/s?* // @include *://www.so.com/s?* // @include *://www.sogou.com/web?* // @include *://www.sogou.com/sie* // @include *://www.sogou.com/sogou* // @include *://www.sogou.com/tx* // @include *://*.bing.com/search?* // @include *://www.google.com/search?* // @include *://www.google.com.*/search?* // @include *://www.dogedoge.com/results?* // @require https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js // @grant GM_setValue // @grant GM_getValue // @grant GM_deleteValue // @note 2019.10.31 V1.0 在百度搜索的结果页加入多吉搜索按钮。 // @note 2019.11.06 V2.0 听取多吉搜索开发者 @nicoljiang 的建议,给检索关键词进行 urlencode 编码,并新增支持360、搜狗、必应搜索。给多吉搜索选择一个特征色号:#dd2248,保证视觉统一性。 // @note 2019.11.16 V2.1 感谢多吉搜索首页(https://dogedoge.com)推广该脚本!本次去除了各搜索引擎结果页面上按钮偶尔出现的下划线,新增了部分颜色动效,和原网站的一致性更高。 // @note 2019.11.20 V2.2 新增支持谷歌搜索引擎,感谢Greasy Fork站点网友 @魏信壹 的建议 。 // @note 2019.11.23 V3.0 当用户修改输入框中的检索内容然后直接点击多吉按钮时,可以实时更新多吉搜索的检索式。同时在多吉搜索的结果页面新增了一个Google的搜索按钮。 // @note 2019.11.24 V3.1 给多吉搜索的结果页面新增简约样式美化功能(内容加宽+居中显示+动态投影),并支持随时开启和关闭。 // @downloadURL none // ==/UserScript== (function() { 'use strict'; var hostname = window.location.hostname; if(hostname.match(RegExp(/baidu.com/))){ // 百度搜索 document.addEventListener ("DOMContentLoaded",show_button_baidu); // 参考:https://stackoverflow.com/questions/26268816/how-to-get-a-greasemonkey-script-to-run-both-at-run-at-document-start-and-at-r function show_button_baidu () { var url_baidu = "https://www.dogedoge.com/results?q=" + encodeURIComponent($("#kw").val()) + "&from=TsingScript"; $("#form").append('多吉搜索') $("#kw").change(function(){ // 用户修改页面上输入框中的内容,然后直接点击多吉按钮,需要实时更新href。 var url_baidu_new = "https://www.dogedoge.com/results?q=" + encodeURIComponent($("#kw").val()) + "&from=TsingScript"; $("#dogedoge").attr('href',url_baidu_new); }); } }else if(hostname.match(RegExp(/so.com/))){ // 360搜索 document.addEventListener ("DOMContentLoaded", show_button_360); function show_button_360 () { var url_360 = "https://www.dogedoge.com/results?q=" + encodeURIComponent($("#keyword").val()) + "&from=TsingScript"; $(".adv-search-wrap").after('多吉搜索'); $("#keyword").change(function(){ var url_360_new = "https://www.dogedoge.com/results?q=" + encodeURIComponent($("#keyword").val()) + "&from=TsingScript"; $("#dogedoge").attr('href',url_360_new); }); } }else if(hostname.match(RegExp(/sogou.com/))){ // 搜狗搜索 document.addEventListener ("DOMContentLoaded", show_button_sogou); function show_button_sogou () { var url_sogou = "https://www.dogedoge.com/results?q=" + encodeURIComponent($("#upquery").val()) + "&from=TsingScript"; $(".querybox").append('多吉搜索'); $("#upquery").change(function(){ var url_sogou_new = "https://www.dogedoge.com/results?q=" + encodeURIComponent($("#upquery").val()) + "&from=TsingScript"; $("#dogedoge").attr('href',url_sogou_new); }); } }else if(hostname.match(RegExp(/bing.com/))){ // 必应搜索 document.addEventListener ("DOMContentLoaded", show_button_bing); function show_button_bing () { var url_bing = "https://www.dogedoge.com/results?q=" + encodeURIComponent($("#sb_form_q").val()) + "&from=TsingScript"; $("#sb_form").append('多吉搜索'); $("#sb_form_q").change(function(){ var url_bing_new = "https://www.dogedoge.com/results?q=" + encodeURIComponent($("#sb_form_q").val()) + "&from=TsingScript"; $("#dogedoge").attr('href',url_bing_new); }); } }else if(hostname.match(RegExp(/google.com/))){ // 谷歌搜索 document.addEventListener ("DOMContentLoaded", show_button_google); function show_button_google () { var url_google = "https://www.dogedoge.com/results?q=" + encodeURIComponent($(".gLFyf.gsfi:first").val()) + "&from=TsingScript"; $(".RNNXgb:first").append('
'); $(".gLFyf.gsfi:first").change(function(){ var url_google_new = "https://www.dogedoge.com/results?q=" + encodeURIComponent($(".gLFyf.gsfi:first").val()) + "&from=TsingScript"; $("#dogedoge").attr('onclick','window.open("'+ url_google_new + '")'); }); } }else if(hostname.match(RegExp(/dogedoge.com/))){ // 多吉搜索样式美化,立即执行。 var style_text = ` .results_links_deep{box-shadow:0 0 5px #eeeeee} .results_links_deep:hover{border:1px solid #dddddd; box-shadow:0 0 10px #cccccc; transition:all 0.2s;} .cw{margin:0 auto} .results--main{max-width:850px} `; var style_tag = document.createElement('style'); style_tag.id = "dogedoge_tsing_style"; var show_active_btn = true; // 默认打开样式美化开关 // GM_deleteValue("tsing_style_on"); var storage = GM_getValue("tsing_style_on"); // 文档:https://www.tampermonkey.net/documentation.php if(storage){ // 判断有没有本地存储数据 console.log("Tsing Storage Value: " + storage); if(storage == "open"){ // 配置信息:打开样式美化 style_tag.innerHTML = style_text; document.head.appendChild(style_tag); }else if(storage == "close"){ // 配置信息:关闭样式美化 style_tag.innerHTML = ""; document.head.appendChild(style_tag); show_active_btn = false; }else{ // 一般不会出现这种异常情况 console.log("Tsing Storage Value: " + storage); GM_setValue("tsing_style_on","open"); } }else{ console.log("Tsing Storage Empty"); GM_setValue("tsing_style_on","open"); // 新用户没有配置数据,则默认开启样式美化。配置数据存放位置:https://stackoverflow.com/questions/16823686/where-does-gm-setvalue-store-data style_tag.innerHTML = style_text; document.head.appendChild(style_tag); } document.addEventListener ("DOMContentLoaded", show_google_button); // This is the equivalent of @run-at document-end function show_google_button () { // 给多吉搜索增加一个Google按钮 var dogedoge_to_google = "https://www.google.com/search?q=" + encodeURIComponent($("#search_form_input").val()) + "&from=TsingScript"; $("#search_form").after(''); $("#search_form_input").change(function(){ var dogedoge_to_google_new = "https://www.google.com/search?q=" + encodeURIComponent($("#search_form_input").val()) + "&from=TsingScript"; $("#dogedoge").attr('onclick','window.open("'+ dogedoge_to_google_new + '")'); }); } window.addEventListener ("load", show_style_switch); // 页面完全加载后执行 function show_style_switch(){ // 加一个美化样式开关,刷新页面 var btn_open = ` `; var btn_close = ` `; if(show_active_btn){ $("#chinese-only").after(btn_open); }else{ $("#chinese-only").after(btn_close); } $('#style_switch').click(function () { if ($(this).children(".dropdown__switch").hasClass("is-on")) { $(this).addClass('has-inactive-region'); $(this).children(".dropdown__switch").removeClass('is-on'); console.log("Switch Off"); $("#dogedoge_tsing_style").text(""); $("#style_status").text("已关闭样式美化"); $("#style_status").css("color","#bbbbbb"); GM_setValue("tsing_style_on","close"); } else { $(this).removeClass('has-inactive-region'); $(this).children(".dropdown__switch").addClass('is-on'); console.log("Switch On"); $("#dogedoge_tsing_style").text(style_text); $("#style_status").text("已启用样式美化"); $("#style_status").css("color","#666666"); GM_setValue("tsing_style_on","open"); } }); } } })();