Greasy Fork

来自缓存

Greasy Fork is available in English.

有道云笔记多合一精简网页

去除页面周边的多余 信息,使您在有道云笔记中可以直接阅读到清爽的正文效果

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         有道云笔记多合一精简网页
// @icon         https://note.youdao.com/favicon.ico
// @version      1.0.6
// @description  去除页面周边的多余 信息,使您在有道云笔记中可以直接阅读到清爽的正文效果
// @author       王嘉乐
// @include      *
// @require      http://code.jquery.com/jquery-latest.js
// @grant        GM_registerMenuCommand
// @grant        GM_getResourceText
// @resource     YNoteClipper https://note.youdao.com/yws/YNoteClipper.js?_=1596113955041
// @run-at       document-start
// @license MIT
// @namespace http://greasyfork.icu/users/1213222
// ==/UserScript==
//左下角按键类名
var copy_class="sidebar-collapse-content-item";

//左侧栏宽度
//var app_sidebar="app_sidebar";
var l_id="#flexible-left";
var app_sidebar_wMax=40;

//右侧顶栏&浮动高度
var HD_id="hd-space-between";
var noteHD_flex="0 0 40px";
var hdSpace={
    id:"hd-space-between",
    style:"flex: 0 0 40px"
}
//保存按钮&高度
var noteSaveBtn_id="note-save-btn";
var noteSaveBtn_top=-35;
var noteSaveBtn={
    id:"note-save-btn",
    style:"top: -35px !important;",
    remark:""
}
//编辑区
var bulbEditor={
    id:"bulb-editor",
    style:"top: 38px !important;height: calc(100% - 40px)!important;",
    remark:""
}
//隐藏列表
var listLight={
    id:"flexible-list-left",
    style:"left: 260px !important;display: none;width: 260px;",
    remark:"left: 0px !important;display: block;width: 260px;"

}
var listRight={
    id:"flexible-list-right",
    style:"left: 0px !important;display: block;",
    remark:"left: 260px !important;display: block;"
}
//列表栏-顶栏:搜索栏
var listSearch={
    class:"list-search",
    style:"height: 20px !important;width: 260px !important;",
    remark:"设定width为了,隐藏列表时,flex样式不会乱"
}
//列表栏-内容区:列表
var listBD={
    class:"list .list-bd.topNameTag",
    style:"top: 50px !important;",
    remark:""
}
//推出全屏
var eeCopy={
    id:"ee_copy",
    style:`               font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    width: 45px;
    height: 30px;
    margin-left: 4px;
    text-align: center;
    /* margin: auto; */
    /* padding-bottom: 1px; */
    /* vertical-align: middle; */
    border: none;
    border: 2px solid black;
    border-radius: 9px;
    z-index: 3;
    position: absolute;
    display:none;
    bottom: 10px;`
}
var collapseFull={
    class:"collapse-full-screen",
    style: "display: none;",
    remark:"隐藏退出全屏按钮"
}
//构建css样式
var list=[noteSaveBtn,bulbEditor,listSearch,listBD,hdSpace,eeCopy,collapseFull];
console.log(list)
function concatStyle(l){
    let str="";
    for(let i=0;i<l.length;i++){
        if(l[i].id){
            str=str+"#"+l[i].id;
        }else if(l[i].class){
            str=str+"."+l[i].class;
        }
        if(l[i].style){
            str=str+"{"+l[i].style+"}      "
        }
    }
    return str;;
}
//自定义按钮组
var r_stable=1
var r_id="#flexible-right"
var qq_copy=`<div class=`+copy_class+` id="qq_copy">
        <i class="icon-column-one" svg-icon="" svgname="view_1"><svg style="display: inline-block; width: 100%; height: 100%" role="img" class="">
            <use xlink:href="#view_1"></use>
        </svg></i>
    </div>`
var ww_copy=`<div class=`+copy_class+` id="ww_copy">
        <i class="icon-column-two" svg-icon="" svgname="view_2"><svg style="display: inline-block; width: 100%; height: 100%" role="img" class="">
            <use xlink:href="#view_2"></use>
        </svg></i>
    </div>`
var ee_copy=`<div class="note-tip editor-inside" id="ee_copy">
            保存
        </div>`
var cc=document.getElementsByClassName("detail-bd")[0];
var qq=document.createElement("div");
qq.innerHTML=`<div class="note-tip editor-inside" id="ee_copy">
            推出
        </div>`
'<div class="note-tip editor-inside" id="ee_copy">\n            保存\n        </div>'
function closeAd() {
    //移除底部(两层的)按钮
    $(".sidebar-footer").css("display","none");
    //瘦化左侧栏
    $(l_id).css("cssText","max-width: "+app_sidebar_wMax+"px;");
    $(".btn-column-two")[0].click();
    $("#hd-space-between").css("cssText","flex= 0 0 40px;");

}
//向html添加css样式
if(1){
    GM_addStyle(
        `
          /*删除左侧栏滑杆*/
          ::-webkit-scrollbar {
              display: none;
          }
          app-sidebar#flexible-left:after {
              content: "";
              flex-grow: 1;
          }
          app-sidebar#flexible-left:before {
              flex-grow: 1;
              content: "";
          }
          `
        +concatStyle(list)
    );
    //创建退出全屏按键
    var button = document.createElement("button");
    button.id = "ee_copy";
    button.textContent = ">|<";
    document.body.appendChild(button);
}







class listen{

    constructor() {

        this.observer_state=0;
        this.observer2_state=0;

        //防止,侧边栏变宽:>55px:set=55px->id:flexible-right
        this.observer = new MutationObserver((mutationRecord, mutationObserver) =>{
            if(MutationRecord.attributeName="style"){
                if(document.defaultView.getComputedStyle(
                    document.getElementById("flexible-right"),null).left.replace(/[^0-9]/ig,"")>app_sidebar_wMax
                  ){
                    $(r_id).css("cssText","left:"+app_sidebar_wMax+"px");
                }
            }
        });

        //注册监听防止,左侧栏展开列表->#flexible-left:collapse
        this.observer2 = new MutationObserver((mutationRecord, mutationObserver) =>{
            if(MutationRecord.attributeName="class"){
                if(document.getElementById("flexible-left").getAttribute("style")!="left: "+app_sidebar_wMax+"px;"){
                    $(l_id).addClass("collapse");
                }
            }
        });



    }

    start_1(){
        this.observer.observe(document.getElementById("flexible-right"), { attributes: true });
        this.observer_state=1;
    }
    start_2(){
        this.observer2.observe(document.getElementById("flexible-left"), { attributes: true });
        this.observer2_state=1;
    }
    stop_1(){
        this.observer.disconnect();
        this.observer_state=0;
    }
    stop_2(){
        this.observer2.disconnect();
        this.observer2_state=0;
    }
}

(function() {
    'use strict';
    //去网页广告
    window.onload=function (){
        var sidebarFt = document.getElementsByClassName('sidebar-ft')[0];
        sidebarFt.parentNode.removeChild(sidebarFt);

        document.getElementsByClassName('sidebar-content')[0].style.bottom = 0;
    };
    //重构页面
    window.setTimeout(e => {
        let target = document.querySelector('.main-container')
        let top = document.querySelector('.top-banner')
        top.style.zIndex = 0
        target.style.top = 0
        target.style.translation = 'all 0.5s'
    }, 100)
    //注册油猴菜单
    GM_registerMenuCommand('一键收藏', function () {
        var ydNoteWebClipperElem = document.getElementById('ydNoteWebClipper');
        if(document.getElementById('ydNoteWebClipper')) {
            document.body.removeChild(ydNoteWebClipperElem);
        }
        try {
            var YNoteClipper = GM_getResourceText('YNoteClipper');
            if(YNoteClipper) {
                new Function(YNoteClipper)();
            } else {
                var a = document.createElement('div');
                a.style.cssText = 'position: absolute;top: 10px;right: 30px;padding: 5px;border-radius: 5px;box-shadow: rgb(92, 184, 229) 0px 0px 2px; -webkit-box-shadow: rgb(92, 184, 229) 0px 0px 2px;background-color: rgba(92, 184, 229, 0.498039) !important;z-index: 999999;';
                a.innerHTML = 'Load script error!';
                document.body.appendChild(a);
                a.onclick = function() {
                    a.style.display = 'none';
                };
                setTimeout(function() {
                    a.click();
                }, 8e3);
            }
        } catch(b) {
            alert('该扩展暂不支持当前的浏览器或不支持收藏该类型https类网站');
            console.error(b);
        }
    });
    //重构页面
    var listener=new listen();

    if(1){

        //还有"DOMSubtreeModified"
        document.addEventListener("DOMNodeInserted", function (event) {
            if(1){
                $(event.target).find(".view-container").show(function(){
                    closeAd();
                    listener.start_1()
                    listener.start_2()
                    //listener.start_3()
                    document.getElementsByClassName("sidebar-collapse-footer")[0].innerHTML=qq_copy+ww_copy;

                    document.getElementById("qq_copy").onclick=()=>{
                        document.getElementsByClassName("btn-column-one")[0].click();
                        //点击全屏时显示推出按钮
                        $("#ee_copy").css("cssText","display: block;")
                    };



                    button.onclick=()=>{
                        document.getElementsByClassName("collapse-full-screen")[0].click();
                        if(r_stable==0){
                            $("#"+listLight.id).css("cssText",listLight.style);
                            $("#"+listRight.id).css("cssText",listRight.style);
                        }else{
                            $("#"+listLight.id).css("cssText",listLight.remark);
                            $("#"+listRight.id).css("cssText",listRight.remark);
                        }
                        $("#ee_copy").css("cssText","display: none;")
                    };


                    function qq_off(){
                        //$('#flexible-list-left').css({"display":"none"});
                        //$('#flexible-list-left').css("cssText","left:0px");
                        $("#"+listLight.id).css("cssText",listLight.style);
                        $("#"+listRight.id).css("cssText",listRight.style);
                        r_stable=0;
                    }
                    function qq_on(){
                        //$('#flexible-list-left').css({"display":"block"});
                        //$('#flexible-list-left').css("cssText","left:250px");
                        $("#"+listLight.id).css("cssText",listLight.remark);
                        $("#"+listRight.id).css("cssText",listRight.remark);
                        r_stable=1;
                    }
                    document.getElementById("ww_copy").onclick=()=>{
                        r_stable?qq_off():qq_on();
                    };

                })
            }

            //console.log(event.target.class)

            //alert(document.getElementById("hd-space-between"))
            //关闭和开启笔记列表
            /*
            $(event.target).find(".sidebar-collapse-footer").show(function(){
                document.getElementsByClassName("sidebar-collapse-footer")[0].innerHTML=envar.l.qq_copy+envar.l.ww_copy;
                document.getElementById("qq_copy").onclick=()=>{document.getElementsByClassName("btn-column-one")[0].click();};
                function qq_off(){
                    $('.viewport .list-detail .list').css({"display":"none"});
                    $('.viewport .list-detail .detail-container').css("cssText","left:0px");
                    envar.r.r_stable=0;
                }
                function qq_on(){
                    $('.viewport .list-detail .list').css({"display":"block"});
                    $('.viewport .list-detail .detail-container').css("cssText","left:255px");
                    envar.r.r_stable=1;
                }
                document.getElementById("ww_copy").onclick=()=>{
                    envar.r.r_stable?qq_off():qq_on();
                };
            });
            */

            //顶栏:hd-space-between#实现二
            /*
            $(event.target).find(".hd-space-between").show(function(){
                //alert("!hd-space-between:已被添加");
                $("#"+HD_id).css("cssText","flex:"+noteHD_flex);
            });
            */

            //移除广告
            $(event.target).find(".ad-close").show(function(){
                alert("!test:已删除广告");
                $("div.ad-close").click();
            });
        });

    }
})();