百度搜索 - 优化

1、屏蔽百度推广 2、关闭百度广告联盟信息收集 3、绑定快捷键 4、布局调整 5、居中单列(可选) 6、居中双列(可选)

目前為 2017-09-04 提交的版本,檢視 最新版本

// ==UserScript==
// @name         百度搜索 - 优化
// @namespace    http://tampermonkey.net/
// @home-url     https://gf.qytechs.cn/zh-CN/scripts/31642
// @description  1、屏蔽百度推广 2、关闭百度广告联盟信息收集 3、绑定快捷键 4、布局调整 5、居中单列(可选) 6、居中双列(可选)
// @version      1.3.6
// @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
// @run-at       document-end
// @grant        GM_addStyle
// @grant        GM_getResourceText
// @grant        GM_setValue
// @grant        GM_getValue
// ==/UserScript==

(function(){
    "use strict";

    /******************* 功能模块 ****************************/
    //配置
    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 $matchURL1 = "www.baidu.com/s";
            var $matchURL2 = "www.baidu.com/baidu";
            if($currentURL.indexOf($matchURL1) > 0 | $currentURL.indexOf($matchURL2) > 0){
                return true;
            }else{
                return false;
            }
        },
        //防止多次加载
        checkOneLoad:function($class){
            var existCLASS = "#content_left>."+$class;
            var $elements  = $("#content_left>.c-container");
            if($(existCLASS).length < 1){
                $elements.addClass($class);
                return true;
            }else{
                return false;
            }
        },

    };

    //屏蔽广告、推广和关闭 Cookie
    var HideADS = {
        //屏蔽广告
        hideCommonAds:function(){
            var $ADS = [
                "#content_left>div[style*='display:block !important;']",
                "#content_left>div[id^='30']",
                "#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.checkOneLoad("CommonPoint")){
                var $cssStyles = ["baiduCommonStyle"];
                this.importStyle($cssStyles);
            }

        },
        //加载自定义菜单样式
        loadMyMenuStyle:function(){
            if(Check.checkOneLoad("MyMenuPoint")){
                var $cssStyles = ["baiduMyMenuStyle"];
                this.importStyle($cssStyles);
            }

        },
        //加载单页样式
        loadOnePageStyle:function(){
            if(Check.checkOneLoad("OnePagePoint")){
                var $cssStyles = ["baiduOnePageStyle"];
                this.importStyle($cssStyles);
            }
        },
        //加载双页样式
        loadTwoPageStyle:function(){
            if(Check.checkOneLoad("TwoPagePoint")){
                var $cssStyles = ["baiduTwoPageStyle"];
                this.importStyle($cssStyles);
            }
        },
        //初始化
        init:function(){
            console.log("StyleManager");
            this.loadCommonStyle();
            this.loadMyMenuStyle();
        },
        //导入一次CSS
        importOnceCSS(){
            this.importStyle(["baiduCommonStyle"]);
            this.importStyle(["baiduMyMenuStyle"]);
        }


    };

    //控制管理
    var ControlManager = {
        //插入自定义菜单
        inserCustomMenu:function(){
            //文档加载完成再运行
            $(document).ready(function(){
                if( Check.checkOneLoad("InsertCustonMenuPoint")){
                    if($("#myuser").length < 1){
                        var $parent = $("#u");
                        var $div=$("<a><ol id='myuser'><li>自定义<ol class='mycustom'><li>普通样式</li><li>居中单列</li><li>居中双列</li></ol></li></ol></a>");
                        $div.prependTo($parent);

                    }
                }
            });
        },

        //双页显示
        twoPageDisplay:function(){
            var $div = $("<div id='double'></div>");
            var $double = null;
            var $parent = null;
            var $selector = null;

            //文档加载完成再运行
            $(document).ready(function(){

                if($("#content_left>#double").length < 1){
                    $parent = $("#content_left");
                    $selector = $("#content_left>.c-container:odd");
                    $div.prependTo($parent);
                    $selector.prependTo($("#double"));

                }
                //兼容自动翻页脚本
                if($("#content_left>.sp-separator").length >0){
                    GM_addStyle("#content_left>.sp-separator{opacity: 0;}");
                    $parent = $("#content_left>.sp-separator");
                    $selector = $("#content_left>.sp-separator~.c-container:odd");
                    $div.after($parent);
                    $parent.remove();
                    $selector.appendTo($("#double"));

                }

            });
        },
        //居中显示
        centerDisplay:function(){
            var $result = Config.getPageNum() || null;
            if($result === 1){//单页居中
                StyleManger.loadOnePageStyle();
            }else if($result === 2){ //双页居中
                StyleManger.loadTwoPageStyle();
                this.twoPageDisplay();
            }

        },
        //绑定快捷键
        bindQuickHotkey:function(){
            $(document).keydown(function(event) {
                //上一页  Ctrl + <-
                if(event.keyCode == 37 && event.ctrlKey) {
                    $(".n:first").click();
                }
                //下一页  Ctrl + ->
                if(event.keyCode == 39 && event.ctrlKey) {
                    $(".n:last").click();
                }
                //搜索框  Ctrl + Enter
                if(event.keyCode == 13 && event.ctrlKey ) {
                    $("#kw").select();
                }
            });
        },
        //初始化
        init:function(){
            console.log("ControltManager");
            this.centerDisplay();
            this.inserCustomMenu();
            this.bindQuickHotkey();
        }
    };

    //事件管理
    var EventManager = {
        //绑定菜单事件
        menuEvent:function(){
            var $selector = $("#myuser .mycustom li");
            $selector.each(function(i){
                $(this).click(function(){
                    Config.setPageNume(i);
                    location.href = location.href;
                });
            });
        },
        //初始化
        init:function(){
            console.log("EventManager");
            this.menuEvent();
        },

    };
    /************************* 执行函数 *************************************/
    // 动态加载函数
    function mutationfunc(){

        //如果网址匹配
        if(Check.matchURL()){

            //配置初始化
            Config.init();

            //样式初始化
            StyleManger.init();

            //屏蔽广告
            HideADS.init();

            //控制管理初始
            ControlManager.init();

            //事件管理
            EventManager.init();

        }

    }

    /************************* 启动控制 *************************************/


    //第一次启动,如果网址匹配

    if(Check.matchURL()){

        //样式加载一次
        StyleManger. importOnceCSS();

        //控制管理初始
        ControlManager.centerDisplay();

    }

    //文档加载完成再运行
    $(document).ready(function(){
        // 动态加载函数
        mutationfunc();
    });

    try{
        //动态监视DOM树的变化
        var MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;
        if(MutationObserver){
            var observer = new MutationObserver(mutationfunc);
            var wrapper = document.querySelector("#wrapper");
            observer.observe(wrapper, {
                "attributes": true,
                "characterData":true,
                "subtree":true,
                "attributesFilter": ["class"],
            });
            // 动态加载函数
            mutationfunc();

        }else{
            setInterval(function(){
                // 动态加载函数
                mutationfunc();

            },500);
        }
    }catch(e){

    }



})();





QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址