为 Google 自动添加搜索指令

添加你所喜欢的指令,默认添加 -csdn -baijiahao -小???网

// ==UserScript==
// @name         为 Google 自动添加搜索指令
// @namespace    Chalkim
// @version      0.2
// @description  添加你所喜欢的指令,默认添加 -csdn -baijiahao -小???网
// @author       Chalkim
// @match        https://www.google.com/search*
// @run-at       document-start
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // 默认参数列表
    var defaultParm = [
        "-csdn",
        "-baijiahao",
        "-小???网"
    ];

    var urlChange = false;
    var oq = getQueryVariable("q");
    var parms = oq.split("+");

    var defaultParmMap = new Map();
    defaultParm.map(
        function(value){
            value = encodeParm(value);
            defaultParmMap.set(value, false);
        }
    );

    function encodeParm(p) {
        p = encodeURI(p);
        p = p.replace(/\?/g, "%3F");
        p = p.replace(/\&/g, "%26");
        return p;
    }

    parms.map(
        function(value){
            console.log(value);
            if(defaultParmMap.has(value)) {
                defaultParmMap.set(value, true);
            }
        }
    );

    defaultParmMap.forEach(
        function(value, key){
            if(!value){
                urlChange = true;
                parms.push(key);
            }
        }
    );

    if(urlChange){
        var nq = parms.join("+");
        var currentURL = window.location.href.toString();
        var newURL = changeURLArg(currentURL, "q", nq);
        window.location.replace(newURL);
    }

    function changeURLArg(url, arg, arg_val) {
        var pattern = arg + '=([^&]*)';
        var replaceText = arg + '=' + arg_val;
        if (url.match(pattern)) {
            var tmp = '(' + arg + '=)([^&]*)';
            console.log(tmp);
            var reg = new RegExp(tmp, 'gi');
            console.log(reg);
            tmp = url.replace(reg, replaceText);
            return tmp;
        } else {
            if (url.match('[\?]')) {
                return url + '&' + replaceText;
            } else {
                return url + '?' + replaceText;
            }
        }
    }


    function getQueryVariable(variable)
    {
        var query = window.location.search.substring(1);
        var vars = query.split("&");
        for (var i=0;i<vars.length;i++) {
            var pair = vars[i].split("=");
            if(pair[0] == variable){return pair[1];}
        }
        return(false);
    }
})();

QingJ © 2025

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