您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Keyboard navigation for APUG user gallery images.
- // ==UserScript==
- // @name APUG.org show image keyboard control
- // @namespace http://oscar.carlsson.photography/
- // @description Keyboard navigation for APUG user gallery images.
- // @include http://www.apug.org/gallery1/showimage.php?i=*
- // @require http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js
- // @version 1
- // @grant none
- // ==/UserScript==
- function find_links() {
- links = {};
- $('div.smallfont a').each(function (e) {
- if ($(this) [0].textContent === 'Previous Image')
- links.prev = $(this) [0];
- if ($(this) [0].textContent === 'Next Image')
- links.next = $(this) [0];
- });
- return links;
- }
- function upwards() {
- var breadcrumbs = $('div#breadcrumb li.navbit'),
- previous = null;
- for (var index = 0; index < breadcrumbs.length; index++) {
- var breadcrumb = breadcrumbs[index],
- classes = breadcrumb.className.split(/\s+/);
- if ($.inArray('lastnavbit', classes) === - 1) {
- previous = breadcrumb;
- continue;
- } else {
- // fetch link from the previous element
- var children = $(previous).children();
- for (var idx = 0; idx < children.length; idx++) {
- var child = children[idx],
- url = child.href;
- if (url) window.location.assign(url);
- }
- }
- }
- }
- $(window).keyup(function (e) {
- var key = e.keyCode;
- if (key == 39 || key == 37)
- var links = find_links();
- if (key == 37) {
- window.location.assign(links.prev.href);
- return;
- }
- if (key == 39) {
- window.location.assign(links.next.href);
- return;
- }
- if (key == 85) { // u
- upwards();
- return;
- }
- });