您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
对 Javdb 的内容使用左右方向键来翻页
// ==UserScript== // @name Javdb 键盘翻页 // @description 对 Javdb 的内容使用左右方向键来翻页 // @namespace zerobiubiu.top // @author zerobiubiu // @version 1.0 // @match https://javdb.com/* // @exclude https://javdb.com/v/* // @license MIT // @icon https://javdb.com/favicon-32x32.png // ==/UserScript== (function () { 'use strict'; // ✏️ 根据页面实际情况修改这两行选择器: const SELECTOR_LEFT = "body > section > div > nav > a.pagination-previous"; const SELECTOR_RIGHT = "body > section > div > nav > a.pagination-next"; // 当焦点在输入框/编辑器时不拦截方向键 function isTyping() { const el = document.activeElement; if (!el) return false; const tag = el.tagName; const editable = el.isContentEditable; return editable || tag === 'INPUT' || tag === 'TEXTAREA' || tag === 'SELECT'; } function safeClick(a) { if (!a) return false; // 优先用原生 click if (typeof a.click === 'function') { a.click(); return true; } // 兜底派发 MouseEvent(注意 isTrusted 无法伪造) const evt = new MouseEvent('click', { bubbles: true, cancelable: true }); return a.dispatchEvent(evt); } // 避免长按方向键连发:需要按下再抬起才接受下一次 let lockLeft = false; let lockRight = false; window.addEventListener('keydown', (e) => { if (isTyping()) return; if (e.key === 'ArrowLeft' && !lockLeft) { const a = document.querySelector(SELECTOR_LEFT) || null; if (a) { e.preventDefault(); safeClick(a); lockLeft = true; } } else if (e.key === 'ArrowRight' && !lockRight) { const a = document.querySelector(SELECTOR_RIGHT) || null; if (a) { e.preventDefault(); safeClick(a); lockRight = true; } } }, { passive: false }); window.addEventListener('keyup', (e) => { if (e.key === 'ArrowLeft') lockLeft = false; if (e.key === 'ArrowRight') lockRight = false; }); })();