// @name xkcd keyboard nav
// @namespace https://github.com/adrianiainlam
// @description Navigate xkcd with your keyboard
-// @version 1.0.2
+// @version 1.0.3
// @downloadURL https://gist.github.com/adrianiainlam/542dd0794a874ca31321/raw/xkcd_keyboard_nav.user.js
// @updateURL https://gist.github.com/adrianiainlam/542dd0794a874ca31321/raw/xkcd_keyboard_nav.user.js
// @include /^https?://xkcd\.com(/[0-9]+)?/?$/
}
document.body.addEventListener("keypress", function(e) {
- if (e.defaultPrevented) {
- return; // Should do nothing if the key event was already consumed.
+ if (!(e.target instanceof HTMLBodyElement)) {
+ return;
}
var navList = document.getElementsByClassName("comicNav")[0].children;
if(!e.altKey && !e.ctrlKey && !e.metaKey && !e.shiftKey) {
switch(e.key) {
case "ArrowLeft": // prev
- case "Left": // deprecated
document.location.href = navList[1].firstChild.getAttribute("href");
break;
case "ArrowRight": // next
- case "Right": // deprecated
document.location.href = navList[3].firstChild.getAttribute("href");
break;
case "r": // random