CSDN,CNBLOG博客阅读模式切换插件

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

Установить этот скрипт?
Рекомендуемый автором скрипт

Вам также может понравится CSDN,CNBLOG博客文章一键转载插件.

Установить этот скрипт
// ==UserScript==
// @name         CSDN,CNBLOG博客阅读模式切换插件
// @version      3.13
// @description  CSDN 阅读模式和浏览模式切换,完美支持傲游、360、Chrome等浏览器
// @author       By Jackie http://csdn.admans.cn/
// @match        *://*.csdn.net/#/*
// @match        *://blog.csdn.net/*/article/details/*
// @match        *://www.cnblogs.com/*/p/*.html
// @match        *://www.cnblogs.com/*/articles/*.html
// @match        *://www.cnblogs.com/*/archive/*/*/*/*.html
// @match        *://www.cnblogs.com/*/p/*
// @match        *://*.admans.net/
// @match        *://*.admans.cn/
// @match        *://*.csdn.net/*
// @match        *://wenku.csdn.net/column/*
// @grant    GM_addStyle
// @namespace https://greasyfork.org/users/164689
// @supportURL   https://github.com/JackieZheng/CsdnCnblogReader/issues
// @icon         https://www.google.cn/s2/favicons?domain=csdn.net
// ==/UserScript==

GM_addStyle("#ReadBtn{position: absolute;float: right;right: 0px;width: auto;background: #0f962191;z-index: 9989;color: white;text-align: center;margin: 5px;padding: 5px;border-radius: 5px;cursor: pointer;font-size:14px  !important; line-height: 100% !important;}");
GM_addStyle(".html_body_readmodel{overflow: hidden;}");
GM_addStyle(".article_content_readmodel{position: fixed !important;top: 0px;left: 0px;width: 100%;z-index: 9989;overflow: auto !important;height: 100%;background: white;padding: 20px;border:10px solid #bce4cba8;margin: 0 !important;}");
GM_addStyle(".postBody{margin-top: 20px;}");
GM_addStyle(".readBtn_float{position: fixed !important;right: 40px !important;}");
GM_addStyle(".markdown_views{padding-top: 40px !important;}");
GM_addStyle(".htmledit_views{padding-top: 40px !important;}");
GM_addStyle(".markdown_views img{margin:24px auto !important;display: flow-root;}");
GM_addStyle(".htmledit_views img{margin:24px auto !important;display: flow-root;}");
GM_addStyle("#ReproduceBtn{right: 80px;font-size:14px;}");
GM_addStyle(".ReproduceBtn_float{position: fixed !important;right: 120px !important;}");
GM_addStyle(".adsbygoogle,.box-shadow,.hide-preCode-box{display: none !important;}");
GM_addStyle(".set-code-hide{height: auto !important;overflow-y:visible !important;}");
GM_addStyle("em[class='attention-content-title']{flex:none !important;}");

// 屏蔽 推荐下载资源
GM_addStyle("div[class*='-recommend-box'],.type_download,.common-nps-box{display:none !important}");

// 滚动条样式
GM_addStyle("::-webkit-scrollbar {width: 14px; height: 14px; }");
GM_addStyle("::-webkit-scrollbar-track,::-webkit-scrollbar-thumb {border-radius: 999px;border: 5px solid transparent;}");
GM_addStyle("::-webkit-scrollbar-track {box-shadow: 1px 1px 5px rgba(0,0,0,.2) inset; }");
GM_addStyle("::-webkit-scrollbar-thumb {min-height: 20px;background-clip: content-box;box-shadow: 0 0 0 5px rgba(0,0,0,.2) inset; }");
GM_addStyle("::-webkit-scrollbar-corner { background: transparent;}");


(function(){
    'use strict';
    var divView = document.createElement("div");
    divView.setAttribute("id", "ReadBtn");
    divView.innerHTML ='阅读模式';
    //var cnblog=document.getElementById('cnblogs_post_body')?true:false;
    var cnblog = location.href.indexOf("cnblogs.com") > -1 ? true: false;
    var article=document.getElementsByClassName('article_content')[0]||document.getElementsByClassName('postBody')[0]||document.getElementsByClassName('blogpost-body')[0]||document.getElementsByClassName('content-view')[0];
    if(cnblog){
        divView.style.marginTop="-40px";
        divView.style.position="relative";
    }
    if(article)article.insertBefore(divView,article.childNodes[0]);
    //自动展开文章内容
    var readMoreBtn=document.getElementsByClassName('btn-readmore')[0];
    if(readMoreBtn){readMoreBtn.click(); }

    var reproduceBtn=document.getElementById('ReproduceBtn')
    setTimeout(function(){
        reproduceBtn=document.getElementById('ReproduceBtn')
        if(reproduceBtn){reproduceBtn.style.right="80px";}
        let loadingBtn=document.querySelector('.loading-btn');
        if(loadingBtn){loadingBtn.click();}
    },500);

    divView.onclick=function()
    {
        reproduceBtn=document.getElementById('ReproduceBtn')
        if(divView.innerHTML=='阅读模式')
        {
            divView.innerHTML ='浏览模式';
            addClass(article,"article_content_readmodel");
            addClass(document.body,"html_body_readmodel");
            addClass(divView,"readBtn_float");
            if(reproduceBtn){addClass(reproduceBtn,"ReproduceBtn_float");}
            if(cnblog){
                article.style.width="calc(100% - 60px)";
                article.style.height="calc(100% - 60px)";
                divView.style.marginTop="5px";
                reproduceBtn.style.marginTop="5px";
            }


        }
        else
        {
            divView.innerHTML ='阅读模式';
            removeClass(article,"article_content_readmodel");
            removeClass(document.body,"html_body_readmodel");
            removeClass(divView,"readBtn_float");
            if(reproduceBtn){removeClass(reproduceBtn,"ReproduceBtn_float");}
            if(cnblog){
                divView.style.marginTop="-40px";
                divView.style.position="relative";
                reproduceBtn.style.marginTop="-40px";
                reproduceBtn.style.position="relative";
                article.style.width="";
                article.style.height="";
            }
        }
    }




    //检测样式
    function hasClass(ele, cls) {
        return ele.className.match(new RegExp("(\\s|^)" + cls + "(\\s|$)"));
    }
    //添加样式
    function addClass(ele, cls) {
        if (!hasClass(ele, cls)) ele.className += " " + cls;
    }
    //删除样式
    function removeClass(ele, cls) {
        if (hasClass(ele, cls)) {
            var reg = new RegExp("(\\s|^)" + cls + "(\\s|$)");
            ele.className = ele.className.replace(reg, " ");
        }
    }
    if(location.href=="http://csdn.admans.net/"||location.href=="http://csdn.admans.cn/")
    {
        Array.prototype.forEach.call(document.body.querySelectorAll("div"), function(ele) {
            if (ele) {
                ele.parentNode.removeChild(ele);
            }
        });
    }

    /* 消息全部已读功能 */
    let subMenu=document.querySelector('.toolbar-subMenu')
    let redMsg=document.querySelector('#redMsgBtn')
    if(subMenu&&!redMsg){
        redMsg = document.createElement("a")
        redMsg.setAttribute("id", "redMsgBtn")
        redMsg.innerHTML ='全部已读'
        subMenu.appendChild(redMsg)
        var redFrame = document.createElement("iframe")
        redFrame.setAttribute("src", "https://i.csdn.net/#/msg/attention")
        redFrame.setAttribute("id", "redFrame")
        redFrame.setAttribute("style", "display:none;")
        subMenu.appendChild(redFrame)
        var redFrame1 = document.createElement("iframe")
        redFrame1.setAttribute("src", "https://i.csdn.net/#/msg/like")
        redFrame1.setAttribute("id", "redFrame1")
        redFrame1.setAttribute("style", "display:none;")
        subMenu.appendChild(redFrame1)
    }
    if(redMsg){
        redMsg.onclick=()=>{
            // redFrame.setAttribute("src", "https://i.csdn.net/#/msg/attention")
            redFrame.contentWindow.location.reload(true)
            // redFrame1.setAttribute("src", "https://i.csdn.net/#/msg/like")
            redFrame1.contentWindow.location.reload(true)
            // alert('操作完成')
            window.location.reload()
        }
    }
})();