Greasy Fork镜像 is available in English.

Thread Navigating by Arrow keys

Use ← or → to navigate to previous or next page

ของเมื่อวันที่ 12-12-2014 ดู เวอร์ชันล่าสุด

// ==UserScript==
// @name        Thread Navigating by Arrow keys
// @version     2.2
// @author      theheroofvn
// @namespace   https://greasyfork.dpdns.org/scripts/6849-next-prev-by-arrow-key
// @include     /^.*(thread|forum).*$/
// @require     http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js
// @run-at      document-start
// @grant       none
// @description Use ← or → to navigate to previous or next page
// ==/UserScript==

$(document).ready(function() {
    var detect_forum,
    prev, next, first, last,
    up, up_sub = '[itemtype="http://data-vocabulary.org/Breadcrumb"] > a';
    if ($('script[src*="vbulletin"]').length > 0) {
        detect_forum = 'v';
        prev = 'a[rel="prev"]'; next = 'a[rel="next"]'; first = 'a[rel="start"]'; last = 'a[title^="Last"], a[title*="uối"]';
        up = 'span.navbar a, li.navbit a';
    } else if ($('script[src*="xenforo"]').length > 0) {
        detect_forum = 'x';
        prev = '.PageNav a.text:first-child'; next = last = '.PageNav a.text:last-child'; first = 'a[rel="start"]';
        up = 'a.crumb';
    } else return;
    var multi = {17 : false, 8 : false, 37 : false, 39 : false},
    multi1 = {17 : false, 8 : false}, multi2 = {17 : false, 37 : false}, multi3 = {17 : false, 39: false};
    $(window).keydown(function(event) {
        var key = event.keyCode;
        if ($("textarea:focus, input:focus").length == 0) {
            if (key in multi) multi[key] = true;
            if (key in multi1) {
                if (multi[17] && multi[8]) ($(up).length > 0) ? $(up).last()[0].click() : $(up_sub).last()[0].click();
            } else if (key in multi2) {
                if (!multi[17] && multi[37]) $(prev)[0].click();
                else if (multi[17] && multi[37]) $(first)[0].click();
            } else if (key in multi3) {
                if (!multi[17] && multi[39]) $(next)[0].click();
                else if (multi[17] && multi[39]) {
                    if (detect_forum == 'v') $(last)[0].click();
                    else if (detect_forum == 'x') $(last).prev()[0].click();
                }
            }
        }
    }).keyup(function(event) {
        if (event.keyCode in multi) multi[key] = false;
    });;
});
长期地址
遇到问题?请前往 GitHub 提 Issues,或加Q群1031348184

赞助商

Fishcpy

广告

Rainyun

注册一下就行

Rainyun

一年攒够 12 元