CSDN 工具箱

过滤CSDN 广告,包括 博客,论坛,问答,首页和搜索,博客自动展开-阅读更多(csdn.net),去掉博客版权复制信息,论坛查看全部

当前为 2018-10-09 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name CSDN 工具箱
  3. // @namespace http://z.houbin.site/csdn/
  4. // @version 0.5
  5. // @description 过滤CSDN 广告,包括 博客,论坛,问答,首页和搜索,博客自动展开-阅读更多(csdn.net),去掉博客版权复制信息,论坛查看全部
  6. // @author z.houbin
  7. // @match *://*.csdn.net/*
  8. // @grant none
  9. // ==/UserScript==
  10.  
  11. (function () {
  12. switch (window.location.hostname) {
  13. case 'bbs.csdn.net':
  14. bbs_csdn_net();
  15. break;
  16. case 'download.csdn.net':
  17. download_csdn_net();
  18. break;
  19. case 'ask.csdn.net':
  20. ask_csdn_net();
  21. break;
  22. case 'www.csdn.net':
  23. www_csdn_net();
  24. break;
  25. case 'blog.csdn.net':
  26. blog_csdn_net();
  27. break;
  28. case 'so.csdn.net':
  29. so_csdn_net();
  30. break;
  31. default:
  32. loadStyle('.J_adv{display:none !important} ');
  33. break;
  34. }
  35.  
  36. //去掉版权信息
  37. document.addEventListener("copy", function (e) {
  38. console.log('copy');
  39. var data = e.clipboardData;
  40. var text = data.getData('text');
  41. var pos = text.indexOf('---------------------');
  42. if (pos !== -1) {
  43. text = text.substring(0, pos - 4);
  44. data.setData('text', text);
  45. }
  46. });
  47.  
  48. function so_csdn_net() {
  49. console.log('so_csdn_net');
  50. loadStyle('.yd_a_d_so{display:none !important} .rightadv{display:none}');
  51. }
  52.  
  53. function blog_csdn_net() {
  54. console.log('blog_csdn_net');
  55. loadStyle('.J_adv{display:none !important} .recommend-ad-box{display:none} .mb8{display:none} .bdsharebuttonbox{display:none} .p4course_target{display:none !important} newsfeed{display:none !important} .pulllog-box{display:none !important} #adAways{display:none} .btn-remove{display:none !important}');
  56.  
  57. document.getElementById('asideFooter').children[0].style = 'display:none';
  58.  
  59. //博客自动展开
  60. window.onload = function () {
  61. document.getElementById("btn-readmore").click();
  62. };
  63. }
  64.  
  65. function www_csdn_net() {
  66. console.log('www_csdn_net');
  67. loadStyle('.J_adv{display:none !important} .right_top{display:none}');
  68. }
  69.  
  70. function ask_csdn_net() {
  71. console.log('ask_csdn_net');
  72. loadStyle('.ask_feed_ad_box{display:none !important}');
  73. }
  74.  
  75. function download_csdn_net() {
  76. console.log('download_csdn_net');
  77. loadStyle('.J_adv{display:none} .dl_mar{display:none} #_yd_ad_1{display:none !important} #_yd_ad_2{display:none !important} #_yd_ad_3{display:none !important} .newsfeed{display:none !important} .ad_wrap{display:none}');
  78. }
  79.  
  80. function bbs_csdn_net() {
  81. console.log('bbs_csdn_net');
  82. //论坛首页 J_adv
  83. //登录注册 pulllog-box
  84. //主贴下广告 bd_ad_2
  85. //CSDN推荐 相关推荐
  86. var mod_topic_wraps = document.getElementsByClassName('mod_topic_wrap');
  87. for (var i = 0; i < mod_topic_wraps.length; i++) {
  88. if (mod_topic_wraps[i].className == 'mod_topic_wrap') {
  89. mod_topic_wraps[i].style = 'display:none';
  90. }
  91. }
  92. //回帖广告 mediav_ad
  93. //相关推荐广告 bbs_feed_ad_box
  94. loadStyle('.bbs_feed_ad_box{display:none} .mediav_ad{display:none} #bd_ad_2{display:none !important} .pulllog-box{display:none !important} .J_adv{display:none}');
  95.  
  96. //删除百度脚本
  97. var scripts = document.getElementsByTagName('script');
  98. for (var i = 0; i < scripts.length; i++) {
  99. var src = scripts[i].getAttribute('src');
  100. //console.log(i + "," + src);
  101. if (src != null && src.indexOf('baidu') != -1) {
  102. scripts[i].parentElement.removeChild(scripts[i]);
  103. }
  104. }
  105. //查看全部
  106. document.getElementsByClassName('show_topic js_show_topic')[0].click();
  107. }
  108.  
  109. function loadStyle(css) {
  110. var style = document.createElement('style');
  111. style.type = 'text/css';
  112. style.rel = 'stylesheet';
  113. //for Chrome Firefox Opera Safari
  114. style.appendChild(document.createTextNode(css));
  115. //for IE
  116. //style.styleSheet.cssText = code;
  117. var head = document.getElementsByTagName('head')[0];
  118. head.appendChild(style);
  119. }
  120. })();