// ==UserScript== // @name Google & baidu Switcher (ALL in One) // @namespace https://openuserjs.org/scripts/t3xtf0rm4tgmail.com/Google_baidu_Switcher_(ALL_in_One) // @author F9y4ng // @version 1.4.3.4 // @description 分别在百度和google的搜索结果页面增加搜索跳转按钮,使用到外链微软CDN的jquery-1.7.2.min.js,不懂跳墙使用GOOGLE的同学请自动忽略。自动判断百度和google对JQUERY的载入,并动态载入Jquery.js。 // @include /^https?\:\/\/[a-zA-Z0-9]*.google.[^\/]+/ // @include http://www.baidu.com/* // @include https://www.baidu.com/* // @license MPL-2.0 // @copyright 2015+, f9y4ng // @grant none // @downloadURL none // ==/UserScript== if ("undefined" == typeof (jQuery)) { loadJs("for_google", "https://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.2.min.js", callbackFunction); } else { $(document).ready(function () { function baiduswitchgoogle() { $('.s_btn_wr').after('
'); $('#ggyx').on({ click: function () { window.open("https://www.google.com/search?newwindow=1&hl=zh-CN&source=hp&q=" + encodeURIComponent($('#kw').val())); return false; } }); } if (GetUrlParam("wd").length > 0 || window.location.href.lastIndexOf("/s?") > 0) { baiduswitchgoogle(); } //2018/11/07 F9y4ng 检测从baidu首页进入的搜索(修正自动提交的Bug,百度太贱) if (/^http(s)?:\/\/(www\.)?baidu\.com\/$/ig.test(window.location.href)) { $("#kw").on("blur", function () { if ($('#kw').val().length > 0) { setTimeout(function () { if ($('#ggyx').length < 1 && GetUrlParam("wd").length > 0) { baiduswitchgoogle(); } }, 600); } }); } }); } function callbackFunction() { $(document).ready(function () { function googleswitchbaidu() { $('#tsf').prepend('
\
'); $('input[name="q"]').click(function () { $("#sfdiv_bd").off("click"); }); $('#sfdiv_bd').on({ click: function () { var kw = $('input[name="q"]').val(); //获取属性标签不是很稳妥,下面继续容错 if ("undefined" == typeof (kw)) { kw = GetUrlParam("q"); } window.open("https://www.baidu.com/s?ie=utf-8&rqlang=cn&wd=" + encodeURIComponent(kw)); return false; } }); } if (window.location.hash.lastIndexOf("q=") > 0 || window.location.search.lastIndexOf("q=") > 0) { googleswitchbaidu(); } //2018/11/07 F9y4ng GOOGLE首页自动提交搜索修正 if (/^http(s)?:\/\/(www\.)?google\.\w+(\.\w+)?\/$/ig.test(window.location.href) || GetUrlParam("q") === null || GetUrlParam("q") === "") { var gfm = $('input[name="q"]'); if ("undefined" == typeof (gfm)) { gfm = $("#lst-ib"); } gfm.off('click').on({ blur: function () { if (gfm.val().length > 0) { $("form").submit(); } } }); } }); } function loadJs(sid, jsurl, callback) { var nodeHead = document.getElementsByTagName('head')[0]; var nodeScript = null; if (document.getElementById(sid) === null) { nodeScript = document.createElement('script'); nodeScript.setAttribute('type', 'text/javascript'); nodeScript.setAttribute('src', jsurl); nodeScript.setAttribute('id', sid); if (callback !== null) { nodeScript.onload = nodeScript.onreadystatechange = function () { if (nodeScript.ready) { return false; } if (!nodeScript.readyState || nodeScript.readyState == "loaded" || nodeScript.readyState == 'complete') { nodeScript.ready = true; callback(); } }; } nodeHead.appendChild(nodeScript); } else { if (callback !== null) { callback(); } } } function GetUrlParam(paraName) { var url = document.location.toString(); var arrObj = url.split("?"); if (arrObj.length > 1) { var arrPara = arrObj[1].split("&"); var arr; for (var i = 0; i < arrPara.length; i++) { arr = arrPara[i].split("="); if (arr !== null && arr[0] == paraName) { return arr[1]; } } return ""; } else { return ""; } }