remove CSDN

在搜索结果中屏蔽 CSDN。支持 Google / Baidu / Bing / 360 搜索

Fra 23.03.2022. Se den seneste versjonen.

  1. // ==UserScript==
  2. // @name remove CSDN
  3. // @namespace czqu
  4. // @version 1.0
  5. // @icon https://www.google.com/s2/favicons?sz=64&domain=csdn.net
  6. // @description 在搜索结果中屏蔽 CSDN。支持 Google / Baidu / Bing / 360 搜索
  7. // @license GNU-GPLv3
  8. // @include *://*.baidu.com/baidu?*
  9. // @include *://*.baidu.com/s?*
  10. // @include *://*.google.*/search*
  11. // @include *://*.bing.com/search*
  12. // @include *://*.so.com/s*
  13. // @include *://*.csdn.net/*
  14. // @grant none
  15. // ==/UserScript==
  16.  
  17. function isSite(domain) {
  18. return window.location.href.match(new RegExp("^https?:\/\/[\\w.]+?" + domain))
  19. }
  20.  
  21. function HideCSDN(){
  22. const filters = ".source_1Vdff, .iUh30, .b_attribution, .g-linkinfo-a".split(", ")
  23. const Elements=document.querySelectorAll(".result.c-container, .g, .b_algo, .res-list");
  24. let num;
  25. Elements.forEach(function(Item,i){
  26. for (var filter in filters) {
  27. let selectedContent=Item.querySelector(filters[filter])
  28. if (selectedContent !== null) {
  29. if (selectedContent.innerText.toLowerCase().includes("csdn")) {
  30. Item.parentNode.removeChild(Item);
  31. num = i;
  32. break;
  33. }
  34. }
  35. }
  36. });
  37. if (num !== undefined) {
  38. console.log(`[Fuck CSDN] 已去除 ${num} CSDN 内容`)
  39. }
  40. }
  41.  
  42. function bind() {
  43. document.querySelectorAll(".page-item_M4MDr, #form, #page, .ac_wrap").forEach(
  44. function(Item) {
  45. Item.addEventListener('mousedown',function () {
  46. setTimeout(function(){
  47. HideCSDN();
  48. if (isSite('so.com')) {
  49. bind();
  50. }
  51. },1000);
  52. })
  53. }
  54. )}
  55.  
  56. // 绑定回车事件
  57. document.querySelectorAll("input.gLFyf.gsfi, input#kw, input#keyword").forEach(
  58. function(Item) {
  59. Item.addEventListener('keydown', function () {
  60. var evt = window.event || arguments.callee.caller.arguments[0];
  61. if (evt.keyCode == "13") {
  62. setTimeout(function(){HideCSDN();},1000);
  63. }
  64. })})
  65.  
  66. if (isSite('csdn.net')) {
  67. document.body.innerHTML = "Blocked by Fuck CSDN.";
  68. window.history.go(-1);
  69. }
  70.  
  71. HideCSDN();
  72. bind();