隐藏搜索历史

隐藏搜索引擎下拉框的历史记录,目前仅适配Google

  1. // ==UserScript==
  2. // @name 隐藏搜索历史
  3. // @namespace http://tampermonkey.net/
  4. // @version 0.4
  5. // @description 隐藏搜索引擎下拉框的历史记录,目前仅适配Google
  6. // @homeurl https://github.com/dengyuhan/LardMonkeyScripts
  7. // @homeurl https://gf.qytechs.cn/zh-CN/scripts/392368
  8. // @author xiandanin
  9. // @include *://encrypted.google.*/search*
  10. // @include *://*.google*/
  11. // @include *://*.google*/search*
  12. // @include *://*.google*/webhp*
  13. // @exclude *://*.google*/sorry*
  14. // @grant none
  15. // ==/UserScript==
  16. (function () {
  17. 'use strict'
  18.  
  19. const deleteCache = []
  20.  
  21. function deleteFunc () {
  22. // 删除按钮的元素
  23. let elements = document.querySelectorAll(".sbai");
  24. let deleteElements = []
  25. let deleteParentElement = []
  26. elements.forEach(function (element) {
  27. // 没隐藏的说明可以删除
  28. if (element.parentElement.style.display !== 'none') {
  29. let parentElement = element.parentElement.parentElement;
  30. let textElement = parentElement.querySelector('div > div:nth-child(2) > div:nth-child(1)');
  31. let textContent = textElement.textContent;
  32. if (textElement && textContent && deleteCache.indexOf(textContent) === -1) {
  33. deleteElements.push(element)
  34. deleteParentElement.push(parentElement)
  35.  
  36. deleteCache.push(textContent)
  37. }
  38. }
  39. })
  40. console.info("可删除元素%d个", deleteElements.length)
  41. for (let i = 0; i < deleteElements.length; i++) {
  42. deleteParentElement[i].style.display = 'none'
  43. deleteElements[i].click()
  44. setTimeout(function () {
  45. deleteParentElement[i].style.display = ''
  46. }, 1000)
  47. console.info("删除搜索记录", deleteParentElement[i], deleteParentElement[i].textContent)
  48. }
  49. }
  50.  
  51. let inputElements = document.getElementsByName("q")
  52. for (let i = 0; i < inputElements.length; i++) {
  53. inputElements[i].oninput = function () {
  54. setTimeout(deleteFunc, 150)
  55. }
  56. }
  57.  
  58. let target = document.querySelector(".UUbT9")
  59. if (target != null) {
  60. let observer = new MutationObserver(function (mutations, observer) {
  61. deleteFunc()
  62. })
  63. observer.observe(target, {
  64. characterData: true,
  65. childList: true,
  66. subtree: true
  67. })
  68. }
  69.  
  70. })()

QingJ © 2025

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