// ==UserScript== // @name 微信读书 // @icon https://weread.qq.com/favicon.ico // @namespace https://greasyfork.org/users/878514 // @version 20230831 // @description WeReadSytle // @author Velens // @match https://weread.qq.com/web/reader/* // @require https://code.jquery.com/jquery-3.6.0.min.js // @license MIT // @grant GM_addStyle // @grant GM_registerMenuCommand // @grant GM_setValue // @grant GM_getValue // @downloadURL none // ==/UserScript== //正文 //GM_addStyle(".readerContent .app_content {max-width: 100%; !important;}"); //GM_addStyle(".wr_whiteTheme .readerContent .app_content {background-color: #C7EDCC; !important;}"); //GM_addStyle(".wr_whiteTheme .readerChapterContent {color: #444444; !important;}"); //导航栏 //GM_addStyle(".readerTopBar {max-width: 100%; !important;}"); //GM_addStyle(".wr_whiteTheme .readerTopBar {background-color: #C7EDCC; !important;}"); //滚动条 //GM_addStyle("body::-webkit-scrollbar {display: none; !important;}"); //浮动菜单 //GM_addStyle(".readerControls {margin-left: 46%; !important;}"); //GM_addStyle(".readerControls {align-items: flex-end; !important;}"); const widths = [{titlew:"满列",width:"100%",align_items:"flex-end",margin_left:"45.5%"},{titlew:"宽列",width:"80%",align_items:"center",margin_left:"41.5%"},{titlew:"默认",width:"",align_items:"flex-start",margin_left:""}]; const footers = [{titlet:"隐藏",padding:"20px"},{titlet:"显示",padding:"40px"},{titlet:"默认",padding:""}]; const scrollbars = [{titles:"滚动条:隐藏",displays:"none"},{titles:"滚动条:显示",displays:"auto"}]; const colors = [{titlec:"豆沙绿",RGB:"#C7EDCC"},{titlec:"杏仁黄",RGB:"#FAF9DE"},{titlec:"秋叶褐",RGB:"#FFF2E2"},{titlec:"胭脂红",RGB:"#FDE6E0"},{titlec:"海天蓝",RGB:"#DCE2F1"},{titlec:"葛巾紫",RGB:"#E9EBFE"},{titlec:"极光灰",RGB:"#EAEAEF"},{titlec:"青草绿",RGB:"#E3EDCD"},{titlec:"银河白",RGB:"#FFFFFF"}]; var numw,iw = GM_getValue("numw",0); var numo,io = GM_getValue("numo",0); var nums,is = GM_getValue("nums",0); var numc,ic = GM_getValue("numc",0); GM_registerMenuCommand("宽度:" + widths[iw].titlew,width) if(widths[iw].titlew != "默认"){ GM_addStyle(`.readerContent .app_content, .readerTopBar {max-width: ${widths[iw].width}; !important;}`); GM_addStyle(`.readerControls {align-items: ${widths[iw].align_items}; !important;}`); GM_addStyle(`.readerControls {margin-left: ${widths[iw].margin_left}; !important;}`);} function width(){ if(iw < widths.length-1){iw++;} else{iw = 0;} GM_setValue("numw",iw); location.reload(); }; GM_registerMenuCommand("页脚:" + footers[io].titlet,Footer); if(footers[io].titlet != "默认"){ GM_addStyle(`.readerFooter {padding: ${footers[io].padding};}`); GM_addStyle(".readerFooter_button {font-weight: 600;}");} if(footers[io].titlet == "隐藏"){ GM_addStyle(`.wr_whiteTheme .readerFooter_button {background-color: ${colors[ic].RGB}; !important;}`);} function Footer(){ if(io < footers.length-1){io++;} else{io = 0;} GM_setValue("numo",io); location.reload(); }; GM_registerMenuCommand(scrollbars[is].titles,scrollbar); GM_addStyle(`body::-webkit-scrollbar {display: ${scrollbars[is].displays}; !important;}`); function scrollbar(){ if(is < scrollbars.length-1){is++;} else{is = 0;} GM_setValue("nums",is); location.reload(); }; GM_registerMenuCommand("背景色:" + colors[ic].titlec,color); GM_addStyle(`.wr_whiteTheme .readerContent .app_content, .wr_whiteTheme .readerTopBar, .wr_whiteTheme .readerControls_fontSize, .wr_whiteTheme .readerControls_item {background-color: ${colors[ic].RGB}; !important;}`); function color(){ if(ic < colors.length-1){ic++;} else{ic = 0;} GM_setValue("numc",ic); location.reload(); }; const scrollTops = ["阅读模式:沉浸式","阅读模式:默认"]; let flagt = GM_getValue("flagt",true); if(flagt){ GM_registerMenuCommand(scrollTops[0],scrollTop); (function (){ /* globals jQuery, $, waitForKeyElements */ $(window).scroll(function(){ var scroll = $(this).scrollTop(); var paddingtop = $(".navBarOffset").css("padding-top"); var lineheight = $(".readerHeaderButton").css("line-height"); var scrollTop = parseFloat(paddingtop) + parseFloat(lineheight); var readerTopBar = document.getElementsByClassName("readerTopBar")[0]; var readerControls = document.getElementsByClassName("readerControls")[0]; if(scroll <= scrollTop){ // 顶部显示 readerTopBar.style.opacity = 1; readerControls.style.opacity = 1; }else{ // 下滑隐藏 readerTopBar.style.opacity = 0; readerControls.style.opacity = 0; } readerTopBar.addEventListener('mouseenter', function(){ readerTopBar.style.opacity = 1}) readerTopBar.addEventListener('mouseleave', function(){ if(scroll <= scrollTop){ readerTopBar.style.opacity = 1}else{ readerTopBar.style.opacity = 0}}) readerControls.addEventListener('mouseenter', function(){ readerControls.style.opacity = 1}) readerControls.addEventListener('mouseleave', function(){ if(scroll <= scrollTop){ readerControls.style.opacity = 1}else{ readerControls.style.opacity = 0}}) }); })(); } else{ GM_registerMenuCommand(scrollTops[1],scrollTop); } function scrollTop(){ flagt = !flagt; GM_setValue("flagt",flagt); location.reload(); };