// ==UserScript== // @name SMBC Navigation Improvements // @namespace http://userscripts.org/users/Scuzzball // @description Adding keyboard navigation, aftercomic text just displayed, and aftercomic image is a link to the next comic. // @include http://www.smbc-comics.com/* // @version 1.0 // @downloadURL https://update.greasyfork.icu/scripts/2014/SMBC%20Navigation%20Improvements.user.js // @updateURL https://update.greasyfork.icu/scripts/2014/SMBC%20Navigation%20Improvements.meta.js // ==/UserScript== function getNextAndPrevious() { var areas = document.getElementsByTagName("area"); var links = []; for (var i = 0, len = areas.length; i < len; ++i) { if (areas[i].coords == "351,21,425,87") {//Next coordinates. Uses one bloody image for navigation, and linkes based on coordinates in the image. CAUSE THAT"S A GOOD WAY TO DO IT. links["next"] = areas[i].href; } if (areas[i].coords == "131,13,216,84") { //Previous coordinates links["previous"] = areas[i].href; } } return links; } var links = getNextAndPrevious(); document.getElementById('refbox').parentNode.parentNode.childNodes[0].innerHTML=''; //This is shenanagans to get the aftercomic image displayed. 'refbox' is the only ID near where I want to display it. function leftArrowPressed() { window.location = links['previous']; } function rightArrowPressed() { window.location = links['next']; } document.onkeydown = function(evt) { evt = evt || window.event; switch (evt.keyCode) { case 37: leftArrowPressed(); break; case 39: rightArrowPressed(); break; } };