diff --git a/4chan_x.coffee b/4chan_x.coffee index 7ceb46af1..f98411309 100644 --- a/4chan_x.coffee +++ b/4chan_x.coffee @@ -369,10 +369,13 @@ iframeLoad = -> recaptchaReload() keyboardNav = (e) -> - char = String.fromCharCode e.keyCode - unless char in '1234567890GHJKLMOT' + kc = e.keyCode + #https://developer.mozilla.org/en/DOM/Event/UIEvent/KeyEvent + # [0-9;=A-Z] + unless 48 <= kc <= 90 return e.preventDefault() + char = String.fromCharCode kc hash = location.hash if not hash or hash == '#navtop' position = 0 diff --git a/4chan_x.js b/4chan_x.js index 83dfe3728..8df4aa550 100644 --- a/4chan_x.js +++ b/4chan_x.js @@ -456,12 +456,13 @@ return recaptchaReload(); }; keyboardNav = function(e) { - var _i, _len, char, count, hash, href, img, position, qrLink, temp; - char = String.fromCharCode(e.keyCode); - if (!((function(){ for (var _i=0, _len='1234567890GHJKLMOT'.length; _i<_len; _i++) { if ('1234567890GHJKLMOT'[_i] === char) return true; } return false; }).call(this))) { + var _i, _len, char, count, hash, href, img, kc, position, qrLink, temp; + kc = e.keyCode; + if (!((48 <= kc) && (kc <= 90))) { return null; } e.preventDefault(); + char = String.fromCharCode(kc); hash = location.hash; if (!hash || hash === '#navtop') { position = 0;