您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
auto scroll
// ==UserScript== // @name read auto scroll // @include * // @supportURL https://github.com/sxlgkxk/browser_script/issues // @version 0.1 // @description auto scroll // @namespace http://sxlgkxk.github.io/ // @author sxlgkxk // @icon http://sxlgkxk.github.io/im/avatar.jpg // @license MIT // @grant GM_getValue // @grant GM_setValue // @grant GM_xmlhttpRequest // ==/UserScript== (function(){ let is_move=(localStorage.getItem('is_move')=='true'); let speed=1; let entering_nextpage=false; let speed_cnt=0; let speed_factor=localStorage.getItem('speed_factor'); speed_factor=speed_factor?parseInt(speed_factor):1 // move function function move() { if (is_move) { speed_cnt=(speed_cnt+1)%speed_factor; if(speed_cnt==0) window.scrollBy(0, speed); if((window.innerHeight + window.scrollY) +5 >= document.body.scrollHeight){ notepanel = document.querySelector("textarea.notePanel"); if (!notepanel || notepanel.hidden) if (!entering_nextpage){ entering_nextpage=true setTimeout(()=>{ let next_dom=document.querySelector('body > div.mainContainer.clearfix > div.chapter-detail > div.container.full > div.control-group > a.chapter-direction.nextChapter') if(!next_dom) next_dom=document.querySelector('#content-wrapper > section > div > div > div.col-md-8.col-xs-12.section-left > div.content.wl > div > div.text-right > a') if(location.href+'#'!=next_dom.href){ setInterval(()=>{ notepanel = document.querySelector("textarea.notePanel"); if (!notepanel || notepanel.hidden) location.href=next_dom.href },1000*3) } }, 1000*60) } } } requestAnimationFrame(move); } move() // move button dom insert body=document.querySelector('body') move_button=document.createElement('button') document.body.before(move_button) // move button style move_button.innerHTML='move' move_button.style.fontWeight='bold' move_button.style.color='#fff' move_button.style.backgroundColor='#333' move_button.style.position='fixed' move_button.style.bottom='100px' move_button.style.right='50px' move_button.style.width='50px' move_button.style.height='50px' move_button.style.opacity=0.8 move_button.style.zIndex=1 move_button.onclick=()=>{ if(document.documentElement["scrollTop"]<50){ new_speed_factor=prompt("speed factor?", speed_factor) speed_factor=new_speed_factor?parseInt(new_speed_factor):speed_factor localStorage.setItem("speed_factor", speed_factor) } is_move=!is_move; if(!is_move) setTimeout(()=>{ is_move=true; localStorage.setItem('is_move', is_move); }, 1000*30) localStorage.setItem('is_move', is_move); } // move shortcut document.addEventListener("keydown", function(event) { if (event.ctrlKey && event.altKey && (event.key=="m"||event.key=="d")){ move_button.click() } }); })();