Jisho Basic Keyboard Navigation

Add basic keyboard navigation to jisho pages

2020-10-30 기준 버전입니다. 최신 버전을 확인하세요.

// ==UserScript==
// @name         Jisho Basic Keyboard Navigation
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  Add basic keyboard navigation to jisho pages
// @author       NickNickovich
// @match        https://jisho.org/*
// @grant        none
// ==/UserScript==

/* jshint esversion:6 */

const focusInput = () => {
    document.documentElement.scrollTop = 0;
    document.getElementById("keyword").focus();
}

const clickMoreWords = () => {
    document.querySelectorAll("a.more").forEach(link => {
        if (link.innerText === "More Words >") {
            link.click();
        }
    });
}

(function() {
    'use strict';
    document.onkeydown = e => {
        // Focus input field
        if (e.altKey && e.code === "KeyQ") focusInput();
        // Scroll up
        if (e.altKey && e.code === "KeyJ") {
            window.scrollBy({ top: -200, left: 0, behavior: "smooth" });
        }
        // Scroll down
        if (e.altKey && e.code === "KeyK") {
            window.scrollBy({ top: 200, left: 0, behavior: "smooth" });
        }
        // Click "More Words" link
        if (e.altKey && e.code === "KeyN") clickMoreWords();
    };
})();