// ==UserScript== // @name 百度搜索 - 优化 // @namespace http://tampermonkey.net/ // @home-url https://greasyfork.org/zh-CN/scripts/31642 // @description 1、屏蔽百度推广 2、关闭百度广告联盟信息收集 3、将相关搜索移动到最上面 4、绑定快捷键 5、布局调整 // @version 1.1.4 // @author 浮生未歇 // @match http*://www.baidu.com/* // @require https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js // @resource baiduCommonStyle https://coding.net/u/SSHIN/p/Tampermonkey/git/raw/master/baiduCommonStyle.css // @resource baiduMyMenuStyle https://coding.net/u/SSHIN/p/Tampermonkey/git/raw/master/baiduMyMenuStyle.css // @resource baiduOnePageStyle https://coding.net/u/SSHIN/p/Tampermonkey/git/raw/master/baiduOnePageStyle.css // @resource baiduTwoPageStyle https://coding.net/u/SSHIN/p/Tampermonkey/git/raw/master/baiduTwoPageStyle.css // @run-at document-body // @grant GM_addStyle // @grant GM_getResourceText // @grant GM_setValue // @grant GM_getValue // @downloadURL none // ==/UserScript== (function(){ "use strict"; //动态监视DOM树的变化 var MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver; var observer = new MutationObserver(mutationfunc); var wrapper = document.querySelector("#wrapper"); observer.observe(wrapper, { "attributes": true, "characterData":true, "subtree":true, // "attributesFilter": ["class"], }); // 动态加载函数 function mutationfunc(){ //配置初始化 Config.init(); //如果网址匹配 if(Check.matchURL()){ //样式初始化 StyleManger.init(); //屏蔽广告 HideADS.init(); //控制管理初始 ControlManager.init(); //事件管理 EventManager.init(); //文档加载完成再运行 $(document).ready(function(){ //控制管理初始 ControlManager.init(); //事件管理 EventManager.init(); }); } } })(); /******************* 功能模块 ****************************/ //配置 var Config = { //获取列码数 getPageNum:function(){ return GM_getValue("pagenum",0); }, //设置列码数 setPageNume:function($num){ GM_setValue("pagenum",$num); }, //初始化 init:function(){ console.log("ConfigManager"); this.getPageNum(); } }; //监测点 var Check = { //匹配网址 matchURL:function(){ var $currentURL = location.href; var $matchURL = "www.baidu.com/s"; var $selector = $("#content_left"); if($currentURL.indexOf($matchURL) > 0 || $selector.length > 0){ return true; }else{ return false; } }, //插入检测点 matchPoint:function(){ if($("#content_left>#check").length < 1){ var $div = $("
"); var $parent = $("#content_left"); $div.prependTo($parent); return true; }else{ return false; } }, }; //屏蔽广告、推广和关闭 Cookie var HideADS = { //屏蔽广告 hideCommonAds:function(){ var $ADS = [ "#content_left>div[style*='display:block !important;']", "#content_left>div:not([id])", "#content_left>#clone", ]; var $selectors = $( $ADS.join()); $selectors.remove(); }, //屏蔽再次出现的广告 hideLaterAds:function(){ var $selector = $("#content_left>div[id='1']"); var $result = $selector.next().attr('id') == 2; if($result){ $selector.attr("id","a1"); } GM_addStyle("#content_left > div[id='1'],#content_left .result~div[id='1'] {display: none!important;}"); }, //关闭广告网盟 Cookie,防止隐私收集 closeAdsCookie:function(){ var cpro_url = "http://help.wangmeng.baidu.com/cpro.php"; var img = document.createElement("img"); img.src = cpro_url + "?pry=" + 1 + "&_t=" + (new Date()).getTime(); }, //初始化 init:function(){ console.log("ADSManager"); this.hideCommonAds(); this.hideLaterAds(); this.closeAdsCookie(); } }; //样式管理 var StyleManger = { //导入 CSS 样式 importStyle:function($cssStyles){ for(var $i in $cssStyles){ var $cssTxt = GM_getResourceText ($cssStyles[$i]); GM_addStyle ($cssTxt); } }, //加载普通样式 loadCommonStyle:function(){ //防止多次导入 if(Check.matchPoint()){ var $cssStyles = ["baiduCommonStyle"]; this.importStyle($cssStyles); } }, //加载自定义菜单样式 loadMyMenuStyle:function(){ var $cssStyles = ["baiduMyMenuStyle"]; this.importStyle($cssStyles); }, //加载单页样式 loadOnePageStyle:function(){ var $cssStyles = ["baiduOnePageStyle"]; this.importStyle($cssStyles); }, //加载双页样式 loadTwoPageStyle:function(){ var $cssStyles = ["baiduTwoPageStyle"]; this.importStyle($cssStyles); }, //初始化 init:function(){ console.log("StyleManager"); this.loadCommonStyle(); this.loadMyMenuStyle(); } }; //控制管理 var ControlManager = { //插入自定义菜单 inserCustomMenu:function(){ if($("#myuser").length < 1){ var $parent = $("#u"); var $div=$("