Thread Navigating by Arrow keys

Use ← or → to navigate to previous or next page

2014/12/12のページです。最新版はこちら。

このスクリプトの質問や評価の投稿はこちら通報はこちらへお寄せください。
// ==UserScript==
// @name        Thread Navigating by Arrow keys
// @version     2.5
// @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]) {
                    if ($(up).length > 0) $(up).last()[0].click();
                    else $(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 元