FUCK CSDN

CSDN 增强工具

このスクリプトの質問や評価の投稿はこちら通報はこちらへお寄せください。
  1. // ==UserScript==
  2. // @name FUCK CSDN
  3. // @version 1.0.1
  4. // @description CSDN 增强工具
  5. // @author unknown
  6. // @namespace https://github.com/ultrazg/FUCK-CSDN
  7. // @match *://*.csdn.net/*
  8. // @match *://blog.csdn.net/*
  9. // @icon https://ossweb-img.qq.com/images/lol/img/spell/SummonerBoost.png
  10. // @require https://cdn.staticfile.org/jquery/3.6.0/jquery.min.js
  11. // @require https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/jquery-cookie/1.4.1/jquery.cookie.min.js
  12. // @license WTFPL
  13. // @grant unsafeWindow
  14. // ==/UserScript==
  15.  
  16. (function () {
  17. 'use strict';
  18.  
  19. const VERSION = '1.0.1';
  20. const classNameArray = ['box-shadow', 'programmer1Box', 'programmer2Box', 'programmer3Box', 'programmer4Box', 'template-box', 'template-box', 'toolbar-advert', 'recommend-box', 'blog-footer-bottom', 'sidetool-writeguide-box', 'btn-side-chatdoc-contentbox'];
  21. const idArray = ['recommendAdBox', 'asideNewNps', 'recommendNps', 'asideSearchArticle', 'asideHotArticle', 'asideArchive', 'footerRightAds', 'asideWriteGuide'];
  22. const toolBarBoxDom = `
  23. <li style="color: forestgreen;user-select: none">正在优化 CSDN 的浏览体验。</li><li><a style="color: cornflowerblue" href="https://github.com/ultrazg/FUCK-CSDN/issues" target="_blank">[反馈]</a></li>
  24. `;
  25.  
  26. function loopRemoveByClassName(classNameArray) {
  27. for (const classNameArrayElement of classNameArray) {
  28. $('.' + classNameArrayElement).remove();
  29. }
  30. }
  31.  
  32. function loopRemoveById(idArray) {
  33. for (const idArrayElement of idArray) {
  34. $('#' + idArrayElement).remove();
  35. }
  36. }
  37.  
  38. function printInfo() {
  39. console.clear()
  40. console.log(`%cFUCK YOU CSDN ${VERSION}`, "color:darkorange;background:#57606f;padding:5px;border-radius:8px;font-family:SimSun;font-size:8px");
  41. }
  42.  
  43. loopRemoveByClassName(classNameArray);
  44. loopRemoveById(idArray);
  45.  
  46. $("iframe").remove();
  47.  
  48. setInterval(() => {
  49. $('.passport-login-container').remove();
  50. }, 500);
  51.  
  52. $.cookie('unlogin_scroll_step', 0, {
  53. domain: '.csdn.net',
  54. path: '/'
  55. });
  56.  
  57. $("code").css("user-select", "auto");
  58. $("#content_views").css("user-select", "auto");
  59. $("pre").css("user-select", "auto");
  60.  
  61. $(".hljs-button").removeClass("signin");
  62. $(".hljs-button").addClass("{2}");
  63. $(".hljs-button").attr("data-title", "已解除复制限制-点击复制");
  64. $(".hljs-button").attr("onclick", "hljs.copyCode(event)");
  65. $("code").attr("onclick", "mdcp.copyCode(event)");
  66.  
  67. $('.data-info,.aside-box-footer,.profile-intro-name-boxOpration,.item-rank').wrapAll('<div id="data-info-box" style="display: none"></div>');
  68. $('#asideProfile').append('<div id="data-info-mask" style="height: 40px;text-align: center;line-height: 47px;cursor: pointer;color:tomato" onclick="showInfo()">点击此处查看作者信息</div>');
  69.  
  70. $('#data-info-mask').click(function () {
  71. $('#data-info-box').css('display', 'block');
  72. $('#data-info-mask').css('display', 'none');
  73. });
  74.  
  75. if ($('.hide-article-box').length > 0) {
  76. $('.hide-article-box').remove();
  77. $('article #article_content').css('height', '');
  78. }
  79.  
  80. $('.hide-preCode-bt').click();
  81.  
  82. $('.toolbar-container-right').remove();
  83. $('.toolbar-container-middle').remove();
  84. $('.toolbar-container-left .toolbar-menus').html(toolBarBoxDom);
  85. $('.toolbar-menus li').css('margin-right', '10px');
  86. $('.toolbar-menus li').hover(function () {
  87. $(this).css('background', '#fff');
  88. });
  89. $('#toolBarBox .left-toolbox').remove();
  90.  
  91. document
  92. .querySelectorAll("article")
  93. ?.forEach((item) => (item.innerHTML = item.innerHTML));
  94. document.addEventListener(
  95. "copy",
  96. (e) =>
  97. e.preventDefault() ||
  98. e.clipboardData.setData("text/plain", window.getSelection().toString())
  99. );
  100.  
  101. printInfo();
  102.  
  103. })();