手机百度搜索净化

在手机百度搜索结果页面隐藏广告和推荐内容和禁止搜索结果自动播放和禁止复制粘贴板口令,提升搜索体验。

  1. // ==UserScript==
  2. // @name 手机百度搜索净化
  3. // @version 3.2
  4. // @author 大萌主
  5. // @description 在手机百度搜索结果页面隐藏广告和推荐内容和禁止搜索结果自动播放和禁止复制粘贴板口令,提升搜索体验。
  6. // @match https://m.baidu.com/*
  7. // @match https://www.baidu.com/*
  8. // @run-at document-start
  9. // @grant none
  10. // @namespace https://greasyfork.org/users/452911
  11. // ==/UserScript==
  12.  
  13. // 需要转换的带有"##"前缀的 CSS 选择器列表
  14. const adBlockList = `##.ec_wise_ad *
  15. ##.ec-result-inner
  16. ##.ad-wrapper
  17. ##[srcid='fw_on_newsite_three_san']
  18. ##[srcid='sp_board_danpin']
  19. ##[srcid='sp_price_list']
  20. ##[srcid='sp_xuangou']
  21. ##[srcid='sp_brand_rank']
  22. ##[srcid='ai_agent_recommend']
  23. ##[srcid^='xcx_']
  24. ##[srcid='guanfanghao']
  25. ##[srcid='note_lead']
  26. ##DIV#page-relative.se-page-relative
  27. ##[data-video-player='true']
  28. ##[srcid^='app_mobile_simple']
  29. ##[srcid='lego_tpl']
  30. ##[srcid='sp_purc_atom']
  31. ##[srcid='zk_sc_header']
  32. ##[srcid='med_wz']
  33. ##[srcid='fw_on_newsite_three']
  34. ##[srcid='wenda_inquiry']
  35. ##[srcid='b2b_straight_wise_vertical']
  36. ##[srcid='b2b_straight_wise_vertical_na']
  37. ##DIV.c-container.ec-container
  38. ##[data-tpl='adv_wenku_fc']
  39. ##[srcid='med_wz_aitest']
  40. ##[srcid='med_disease_drug']
  41. ##[srcid='fw_on_single_site']
  42. ##[srcid='sp_purc_san']
  43. ##[srcid='b2b_goods_wholesale']
  44. ##[tpl='recommend_list_san']
  45. ##[srcid='yl_recommend_list']`;
  46.  
  47. // 解析处理输入列表,生成适当的 CSS 规则
  48. const selectors = adBlockList
  49. .split('\n') // 用换行符将文本分成数组中的项
  50. .map(item => item.trim()) // 清除每个项的空白字符
  51. .filter(item => item.startsWith('##')) // 确保只使用以'##'开头的项
  52. .map(item => item.substring(2)) // 去除'##'前缀
  53. .join(',\n'); // 将所有选择器组合成一个字符串,并用逗号隔开
  54.  
  55. // 创建一个包含解析后选择器的<style>标签,将元素的 display 属性设为 none
  56. const styleBlock = document.createElement('style');
  57. styleBlock.innerHTML = `${selectors} { display: none !important; }`;
  58.  
  59. // 最后将<style>标签添加到文档的<head>中
  60. document.head.appendChild(styleBlock);
  61.  
  62. document.addEventListener('copy', function(e) {
  63. var copiedText = window.getSelection().toString();
  64. if (copiedText.startsWith('1.fu:/') ||
  65. copiedText.startsWith('#baiduhaokan') ||
  66. copiedText.includes(':/¥^')) {
  67. e.preventDefault(); // 阻止写入粘贴板
  68. console.log('禁止复制指定内容');
  69. }
  70. });