为 Google 自动添加搜索指令

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

  1. // ==UserScript==
  2. // @name 为 Google 自动添加搜索指令
  3. // @namespace Chalkim
  4. // @version 0.2
  5. // @description 添加你所喜欢的指令,默认添加 -csdn -baijiahao -小???网
  6. // @author Chalkim
  7. // @match https://www.google.com/search*
  8. // @run-at document-start
  9. // @grant none
  10. // ==/UserScript==
  11.  
  12. (function() {
  13. 'use strict';
  14.  
  15. // 默认参数列表
  16. var defaultParm = [
  17. "-csdn",
  18. "-baijiahao",
  19. "-小???网"
  20. ];
  21.  
  22. var urlChange = false;
  23. var oq = getQueryVariable("q");
  24. var parms = oq.split("+");
  25.  
  26. var defaultParmMap = new Map();
  27. defaultParm.map(
  28. function(value){
  29. value = encodeParm(value);
  30. defaultParmMap.set(value, false);
  31. }
  32. );
  33.  
  34. function encodeParm(p) {
  35. p = encodeURI(p);
  36. p = p.replace(/\?/g, "%3F");
  37. p = p.replace(/\&/g, "%26");
  38. return p;
  39. }
  40.  
  41. parms.map(
  42. function(value){
  43. console.log(value);
  44. if(defaultParmMap.has(value)) {
  45. defaultParmMap.set(value, true);
  46. }
  47. }
  48. );
  49.  
  50. defaultParmMap.forEach(
  51. function(value, key){
  52. if(!value){
  53. urlChange = true;
  54. parms.push(key);
  55. }
  56. }
  57. );
  58.  
  59. if(urlChange){
  60. var nq = parms.join("+");
  61. var currentURL = window.location.href.toString();
  62. var newURL = changeURLArg(currentURL, "q", nq);
  63. window.location.replace(newURL);
  64. }
  65.  
  66. function changeURLArg(url, arg, arg_val) {
  67. var pattern = arg + '=([^&]*)';
  68. var replaceText = arg + '=' + arg_val;
  69. if (url.match(pattern)) {
  70. var tmp = '(' + arg + '=)([^&]*)';
  71. console.log(tmp);
  72. var reg = new RegExp(tmp, 'gi');
  73. console.log(reg);
  74. tmp = url.replace(reg, replaceText);
  75. return tmp;
  76. } else {
  77. if (url.match('[\?]')) {
  78. return url + '&' + replaceText;
  79. } else {
  80. return url + '?' + replaceText;
  81. }
  82. }
  83. }
  84.  
  85.  
  86. function getQueryVariable(variable)
  87. {
  88. var query = window.location.search.substring(1);
  89. var vars = query.split("&");
  90. for (var i=0;i<vars.length;i++) {
  91. var pair = vars[i].split("=");
  92. if(pair[0] == variable){return pair[1];}
  93. }
  94. return(false);
  95. }
  96. })();

QingJ © 2025

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