禁止自动添加自定义搜索引擎

用于禁止网站通过opensearch自动向浏览器添加自定义搜索引擎,以避免浏览器出现非常多的自定义搜索引擎。如需允许,请将其域名添加入排除名单,然后重新刷新页面即可。

  1. // ==UserScript==
  2. // @name 禁止自动添加自定义搜索引擎
  3. // @version 0.1.2
  4. // @description 用于禁止网站通过opensearch自动向浏览器添加自定义搜索引擎,以避免浏览器出现非常多的自定义搜索引擎。如需允许,请将其域名添加入排除名单,然后重新刷新页面即可。
  5. // @author binsee
  6. // @namespace https://github.com/binsee/tampermonkey-scripts
  7. // @supportURL https://github.com/binsee/tampermonkey-scripts/issues
  8. // @license GPL
  9. // @run-at document-start
  10. // @match *://*/*
  11. // @exclude *://*.bilibili.com/*
  12. // @exclude *://*.github.com/*
  13. // @exclude *://*.google.com/*
  14. // @exclude *://*.google.cn/*
  15. // @exclude *://*.youtube.com/*
  16. // @exclude *://*.yandex.com/*
  17. // @exclude *://*.douban.com/*
  18. // @exclude *://*.zhihu.com/*
  19. // @grant none
  20. // ==/UserScript==
  21.  
  22. let debugFlag = false
  23. let jsName = '禁止自动添加自定义搜索引擎'
  24. let logger = {
  25. debug: createDebugMethod('debug'),
  26. info: createDebugMethod('info'),
  27. warn: createDebugMethod('warn'),
  28. error: createDebugMethod('error')
  29. };
  30.  
  31. function createDebugMethod(name) {
  32. const bgColorMap = {
  33. debug: '#0070BB',
  34. info: '#009966',
  35. warn: '#BBBB23',
  36. error: '#bc0004'
  37. };
  38. name = bgColorMap[name] ? name : 'info';
  39. return function () {
  40. const args = Array.from(arguments);
  41. args.unshift(`color: white; background-color: ${bgColorMap[name] || '#FFFFFF'}`);
  42. args.unshift(`【${jsName}】 %c[${name.toUpperCase()}]:`);
  43. console[name].apply(console, args);
  44. }
  45. }
  46.  
  47.  
  48. (function () {
  49. 'use strict';
  50.  
  51. var elOpenSearch = document.querySelector('[type="application/opensearchdescription+xml"]');
  52. if (elOpenSearch) {
  53. logger.info('此站点配置了OpenSearch,以向浏览器添加自定义搜索引擎,已经对其进行屏蔽。如需同意此站点添加自定义搜索引擎,请为本脚本排除此站点域名。\nelOpenSearch:', elOpenSearch);
  54. elOpenSearch.remove();
  55. }
  56. })();
  57.  

QingJ © 2025

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