Press 1-9 on Google search page to open the corresponding link
As of
// ==UserScript==
// @name Google digits
// @description Press 1-9 on Google search page to open the corresponding link
// @include https://www.google.tld/*
// @version 1.2.3
// @author wOxxOm
// @namespace wOxxOm.scripts
// @license MIT License
// @run-at document-start
// @grant none
// ==/UserScript==
const SEL = '#rso a h3';
const SEL10 = '#rso > :last-child a h3';
const SELHIDE = '#rso [aria-hidden="true"] a h3';
document.documentElement.appendChild(document.createElement('style')).textContent = /*css*/ `
body {
counter-reset: digitnav;
}
${SEL}::before {
counter-increment: digitnav;
content: counter(digitnav) ":";
position: absolute;
margin-left: -1em;
opacity: .5;
z-index: 127;
}
${SEL10}::before {
content: "0:";
}
${SEL}:hover::before {
opacity: 1;
}
${SELHIDE}::before {
counter-increment: none !important;
}
`;
addEventListener('keydown', function onKeyDown(e) {
const k = e.which;
const digit =
k >= 48 && k <= 57 ? k - 48 :
k >= 96 && k <= 105 ? k - 96 :
-1;
if (digit >= 0 &&
location.href.match(/[#&?]q=/) &&
!e.metaKey && !e.ctrlKey &&
e.target.localName != 'input') {
const elems = [...document.querySelectorAll(SEL)].filter(el => !el.matches(SELHIDE));
let el = elems[digit ? digit - 1 : 9];
const link = el && el.closest('a');
if (!link) return;
removeEventListener('keydown', onKeyDown, true);
e.stopPropagation();
el.style.backgroundColor = 'yellow';
link.focus();
link.dispatchEvent(new MouseEvent('click',
e.shiftKey && {shiftKey: true} ||
e.altKey && {ctrlKey: true} ||
{}));
}
}, true);