您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Twitter - Auto Refresh List Page.
// ==UserScript== // @name Twitter - Auto Refresh List Page // @description Twitter - Auto Refresh List Page. // @version 0.1 // @author to // @namespace https://github.com/to // @license MIT // // @match https://twitter.com/i/lists/* // @match https://twitter.com/search* // @icon https://www.google.com/s2/favicons?sz=64&domain=twitter.com // // @grant unsafeWindow // ==/UserScript== const TOP_RANGE = 300; const REFRESH_INTERVAL = 10 * 1000; var onFrame; var scrollEvent; addBefore(unsafeWindow, 'requestAnimationFrame', (callback) => { onFrame = callback; }); window.addEventListener("scroll", (event) => { scrollEvent = event; }, false); document.addEventListener("visibilitychange", (event) => { if(!document.hidden) refresh(); }, false); setInterval(refresh, REFRESH_INTERVAL); function refresh(){ // ページの途中まで スクロールされている場合 返る if(window.scrollY > TOP_RANGE) return; // 下方向に疑似的にスクロールする // 実際に発生したイベントをコピーしたものを再利用する // 疑似的な再描画も発生させる window.scrollTo(window.scrollX, 1000); document.dispatchEvent(scrollEvent || new Event('scroll')); onFrame(); window.scrollTo(window.scrollX, 0); } function addBefore(target, name, before) { var original = target[name]; target[name] = function() { before.apply(target, arguments); return original.apply(target, arguments); } }