您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Inspired by Einkbro, imitate to optimize the page turning experience in a browser with js.
当前为
// ==UserScript== // @name Scroll in E-ink browsing // @namespace http://tampermonkey.net/ // @version 0.2 // @description Inspired by Einkbro, imitate to optimize the page turning experience in a browser with js. // @match *://*/* // @grant GM_registerMenuCommand // @grant GM_setValue // @grant GM_getValue // @license MIT // ==/UserScript== (function() { 'use strict'; // Default settings let scrollUpAmount = GM_getValue('scrollUpAmount', 1200); let scrollDownAmount = GM_getValue('scrollDownAmount', 1000); let boxSize = GM_getValue('boxSize', 50); let boxPosition = GM_getValue('boxPosition', 'bottomRight'); // Create the boxes let boxUp = document.createElement('div'); let boxDown = document.createElement('div'); // Style the boxes boxUp.style.width = boxSize + 'px'; boxUp.style.height = boxSize + 'px'; boxUp.style.border = '2px dashed #000'; boxUp.style.position = 'fixed'; boxUp.style.zIndex = '9999'; boxUp.style.cursor = 'pointer'; boxDown.style.width = boxSize + 'px'; boxDown.style.height = boxSize + 'px'; boxDown.style.border = '2px dashed #000'; boxDown.style.position = 'fixed'; boxDown.style.zIndex = '9999'; boxDown.style.cursor = 'pointer'; // Set the position of the boxes based on the setting switch (boxPosition) { case 'bottomRight': boxUp.style.bottom = (boxSize + 10) + 'px'; boxUp.style.right = '20px'; boxDown.style.bottom = '10px'; boxDown.style.right = '20px'; break; case 'bottomLeft': boxUp.style.bottom = (boxSize + 10) + 'px'; boxUp.style.left = '20px'; boxDown.style.bottom = '10px'; boxDown.style.left = '20px'; break; case 'topLeft': boxUp.style.top = (boxSize + 10) + 'px'; boxUp.style.left = '20px'; boxDown.style.top = '10px'; boxDown.style.left = '20px'; break; case 'topRight': boxUp.style.top = (boxSize + 10) + 'px'; boxUp.style.right = '20px'; boxDown.style.top = '10px'; boxDown.style.right = '20px'; break; default: break; } // Add the boxes to the page document.body.appendChild(boxUp); document.body.appendChild(boxDown); // Add click event listeners to the boxes let longPressTimer; function handleLongPress() { window.scrollTo(0, 0); clearTimeout(longPressTimer); longPressTimer = null; } function handleLongPress2() { window.scrollTo(0, document.body.scrollHeight); clearTimeout(longPressTimer); longPressTimer = null; } function handleShortPress() { window.scrollBy(0, -scrollUpAmount); clearTimeout(longPressTimer); longPressTimer = null; } function handleShortPress2() { window.scrollBy(0, scrollDownAmount); clearTimeout(longPressTimer); longPressTimer = null; } function handleMouseDown(event) { if (event.button === 0) { longPressTimer = setTimeout(handleLongPress, 1500); } } function handleMouseDown2(event) { if (event.button === 0) { longPressTimer = setTimeout(handleLongPress2, 1500); } } function handleMouseUp(event) { if (event.button === 0 && longPressTimer !== null) { handleShortPress(); } } })();