Advertisement
Guest User

Page navigation

a guest
Jul 20th, 2013
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // ==UserScript==
  2. // @id             page-navigation
  3. // @name           Page navigation
  4. // @version        1.0
  5. // @namespace      
  6. // @author         Tenno Seremel
  7. // @description    
  8. // @include        *
  9. // @run-at         document-start
  10. // @noframes
  11. // ==/UserScript==
  12. (function(){
  13.  
  14. function on_keypress(e) {
  15.     var target = e.target;
  16.     if (target) {
  17.         var target_name = target.nodeName.toLowerCase();
  18.         if (
  19.             (
  20.                 (target_name != "input") && (target_name != "textarea")
  21.             ) || (
  22.                 (target_name == "input") && (target.getAttribute("type").toLowerCase() == "submit")
  23.             )
  24.         ) {
  25.             var keys = [
  26.                 {key: KeyboardEvent.DOM_VK_RIGHT, rel: "next", ctrl: true, shift: false},
  27.                 {key: KeyboardEvent.DOM_VK_LEFT, rel: "prev", ctrl: true, shift: false},
  28.                 {key: KeyboardEvent.DOM_VK_LEFT, rel: "previous", ctrl: true, shift: false},
  29.                 {key: KeyboardEvent.DOM_VK_UP, rel: "up", ctrl: true, shift: false},
  30.                 {key: KeyboardEvent.DOM_VK_RIGHT, rel: "last", ctrl: true, shift: true},
  31.                 {key: KeyboardEvent.DOM_VK_LEFT, rel: "first", ctrl: true, shift: true},
  32.             ];
  33.             for(var i=0, len=keys.length; i<len; ++i){
  34.                 var current = keys[i];
  35.                 if((e.keyCode == current.key) && (e.ctrlKey == current.ctrl) && (e.shiftKey == current.shift) && !e.altKey && !e.metaKey) {
  36.                     e.stopPropagation();
  37.                     e.preventDefault();
  38.                     var link = document.querySelector(':root > head > link[rel="' + current.rel + '"]');
  39.                     if (link !== null) {
  40.                         var link_value = link.getAttribute("href");
  41.                         if (link_value != "") {
  42.                             window.location = link_value;
  43.                             break;
  44.                         }
  45.                     }
  46.                 }
  47.             }
  48.         }
  49.     }
  50. }
  51.  
  52. document.addEventListener("keypress", on_keypress, false)
  53.  
  54. })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement