CSDN博客阅读模式切换插件

CSDN 阅读模式和浏览模式切换,完美支持傲游、360、Chrome等浏览器

目前為 2019-03-21 提交的版本,檢視 最新版本

  1. // ==UserScript==
  2. // @name CSDN博客阅读模式切换插件
  3. // @version 1.4
  4. // @description CSDN 阅读模式和浏览模式切换,完美支持傲游、360、Chrome等浏览器
  5. // @author By Jackie http://csdn.admans.cn/
  6. // @match *://blog.csdn.net/*/article/details/*
  7. // @grant GM_addStyle
  8. // @namespace https://gf.qytechs.cn/users/164689
  9. // ==/UserScript==
  10.  
  11. GM_addStyle("#ReadBtn{position: relative;float: right;width: auto;background: #0f962191;z-index: 99;color: white;text-align: center;margin: 5px;padding: 5px;border-radius: 5px;cursor: pointer;}");
  12. GM_addStyle(".html_body_readmodel{overflow: hidden;}");
  13. GM_addStyle(".article_content_readmodel{position: fixed !important;top: 0px;left: 0px;width: 100%;z-index: 999;overflow: auto;height: 100%;background: white;padding: 20px;border:10px solid #bce4cba8;}");
  14. GM_addStyle(".readBtn_float{position: fixed !important;right: 40px;}");
  15. (function(){
  16. 'use strict';
  17. var divView = document.createElement("div");
  18. divView.setAttribute("id", "ReadBtn");
  19. divView.innerHTML ='阅读模式';
  20. var article=document.getElementsByClassName('article_content')[0];
  21. article.insertBefore(divView,article.childNodes[0]);
  22. //自动展开文章内容
  23. var readMoreBtn=document.getElementById('btn-readmore')
  24. if(readMoreBtn){readMoreBtn.click(); }
  25. divView.onclick=function()
  26. {
  27. if(divView.innerHTML=='阅读模式')
  28. {
  29. divView.innerHTML ='浏览模式';
  30. addClass(article,"article_content_readmodel");
  31. addClass(document.body,"html_body_readmodel");
  32. addClass(divView,"readBtn_float");
  33. }
  34. else
  35. {
  36. divView.innerHTML ='阅读模式';
  37. removeClass(article,"article_content_readmodel");
  38. removeClass(document.body,"html_body_readmodel");
  39. removeClass(divView,"readBtn_float");
  40. }
  41. }
  42. //检测样式
  43. function hasClass(ele, cls) {
  44. return ele.className.match(new RegExp("(\\s|^)" + cls + "(\\s|$)"));
  45. }
  46. //添加样式
  47. function addClass(ele, cls) {
  48. if (!hasClass(ele, cls)) ele.className += " " + cls;
  49. }
  50. //删除样式
  51. function removeClass(ele, cls) {
  52. if (hasClass(ele, cls)) {
  53. var reg = new RegExp("(\\s|^)" + cls + "(\\s|$)");
  54. ele.className = ele.className.replace(reg, " ");
  55. }
  56. }
  57. })();

QingJ © 2025

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