当前位置:   article > 正文

CSDN博客文章阅读模式插件(附源码)_阅读模式脚本

阅读模式脚本

插件地址:https://greasyfork.org/zh-CN/scripts/380667-csdn%E5%8D%9A%E5%AE%A2%E9%98%85%E8%AF%BB%E6%A8%A1%E5%BC%8F%E5%88%87%E6%8D%A2%E6%8F%92%E4%BB%B6

插件安装使用说明请参阅:https://greasyfork.org/zh-CN

 

浏览器(正常)模式效果:

 

阅读模式效果:

 

提供下源代码,有兴趣可以互相学习:

  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://greasyfork.org/users/164689
  9. // ==/UserScript==
  10. 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;}");
  11. GM_addStyle(".html_body_readmodel{overflow: hidden;}");
  12. 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;}");
  13. GM_addStyle(".readBtn_float{position: fixed !important;right: 40px;}");
  14. (function(){
  15. 'use strict';
  16. var divView = document.createElement("div");
  17. divView.setAttribute("id", "ReadBtn");
  18. divView.innerHTML ='阅读模式';
  19. var article=document.getElementsByClassName('article_content')[0];
  20. article.insertBefore(divView,article.childNodes[0]);
  21. //自动展开文章内容
  22. var readMoreBtn=document.getElementById('btn-readmore')
  23. if(readMoreBtn){readMoreBtn.click(); }
  24. divView.onclick=function()
  25. {
  26. if(divView.innerHTML=='阅读模式')
  27. {
  28. divView.innerHTML ='浏览模式';
  29. addClass(article,"article_content_readmodel");
  30. addClass(document.body,"html_body_readmodel");
  31. addClass(divView,"readBtn_float");
  32. }
  33. else
  34. {
  35. divView.innerHTML ='阅读模式';
  36. removeClass(article,"article_content_readmodel");
  37. removeClass(document.body,"html_body_readmodel");
  38. removeClass(divView,"readBtn_float");
  39. }
  40. }
  41. //检测样式
  42. function hasClass(ele, cls) {
  43. return ele.className.match(new RegExp("(\\s|^)" + cls + "(\\s|$)"));
  44. }
  45. //添加样式
  46. function addClass(ele, cls) {
  47. if (!hasClass(ele, cls)) ele.className += " " + cls;
  48. }
  49. //删除样式
  50. function removeClass(ele, cls) {
  51. if (hasClass(ele, cls)) {
  52. var reg = new RegExp("(\\s|^)" + cls + "(\\s|$)");
  53. ele.className = ele.className.replace(reg, " ");
  54. }
  55. }
  56. })();

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/446590
推荐阅读
相关标签
  

闽ICP备14008679号