Greasy Fork 还支持 简体中文。

BGG Shortcuts

Keyboard shortcuts for the Geek

As of 06.08.2014. See апошняя версія.

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install a user script manager extension to install this script.

(I already have a user script manager, let me install it!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

// ==UserScript==
// @name       BGG Shortcuts
// @namespace  BGG Shortcuts
// @version    0.6.1
// @description  Keyboard shortcuts for the Geek
// @include		http://*.boardgamegeek.*/*
// @include		http://boardgamegeek.*/*
// @copyright  2013+, JB McMichael
// ==/UserScript==

/*
 * CHANGLOG::
 * ============================================
 * 0.6.1 - Give the page some time to load its scripts before changing links
 * 0.6 - Added a shortcut to go to the searchbox Ctrl + /
 * 0.5 - Added homepage links opening in new tab
 * 0.4 - If search returns one result just go to that result
 * 0.3 - Added homepage shortcut; Ctrl + Shift + H
 * 0.2 - Cleaned up the subscription jump link
 * 0.1 - First version, shortcut for subscriptions; Ctrl + M
 * 
 */

(function () {
    "use strict";
    console.log('Loaded BGG Shortcuts');
    
    document.body.addEventListener('keydown', function(e){
        // Next subscription item Ctrl + M
        if (e.ctrlKey && e.keyCode === 77) {
            [].slice.call(document.querySelectorAll("img:not(dn).nextsubcol"))[0].parentNode.parentNode.click();
        }
        
        // Home page Ctrl + Shift + H
        if (e.ctrlKey && e.shiftKey && e.keyCode === 72 && window.location.href !== window.location.origin) {
            window.location.href = window.location.origin;
        }
        
        // Search box jump Ctrl + /
        if (e.ctrlKey && e.which === 191) {
            var searchbox = document.getElementById('sitesearch'),
                active = document.activeElement;
            if (active.tagName === 'BODY') {
            	document.body.scrollTop = 0;
            	searchbox.focus();
            }
        }
    }, false);
    
    //check for one result on the search page
    if (window.location.pathname === '/geeksearch.php' && window.location.search.search(/action=search/)) {
        var results = document.querySelectorAll('#collectionitems tbody tr');
        console.log('We are searching');
        if (results.length === 2) {
            console.log('Found just one result, redirect');
            var link = results[1].querySelectorAll('#results_objectname1 a'),
                href = link[0].getAttribute('href');
            
            window.location.href = window.location.origin + href;
        }
    }
    
    // set all homepage module links to open in new tab
    if (window.location.pathname === '/') {
        window.setTimeout(function(){
            console.log('Changing homepage links');
        	var links = document.querySelectorAll('.innermoduletable tbody td a.ng-binding'),
            	linkArray = [].slice.call(links);
        
            linkArray.forEach(function(item, index){
                item.setAttribute('target', '_blank');
            });
        },500);
    }
}());