basyura's blog

あしたになったらほんきだす。

gmail のスクロール制御

space 押下時に一定量で画面をスクロール。テキストにフォーカスが有る場合の考慮を追加。

// ==UserScript==
// @name           gmail scroll
// @namespace      basyura.org
// @include        https://mail.google.com/*
// @include        http://mail.google.com/*
// ==/UserScript==
(function () {
 var SCROLL_HEIGHT = 150;
 window.addEventListener('keypress',
   function(e) {
     if (e.target.tagName == "INPUT" 
           || e.target.tagName == "TEXTAREA") {
	   return;
     }
     if (e.charCode == 32) {
       var h = SCROLL_HEIGHT;
       if(e.shiftKey) {
         h = h * -1;
       }
       document.documentElement.scrollTop += h;
       e.preventDefault();
       e.stopPropagation();
     }
   }, true);
})();