Google Reader で Space 時のスクロール幅を変更する
ページ単位でスクロールされると何処まで読んだか探さないといけないからつらい。3行ずつぐらいのスクロールにしたいと思ったので書いてみた。
処理的には OFFSET 分スクロールを戻すというゴリゴリっぷり。スクロール判定に offsetHeight をつかってるのが相当怪しいけどとりあえず期待通り動く(今のところ)。
// ==UserScript== // @name Google Reader Scroll Controll // @namespace http://d.hatena.ne.jp/spider-man/ // @include http://www.google.co.jp/reader/* // @version 0.1 // ==/UserScript== (function () { var OFFSET = 300; window.addEventListener('keypress', function(e) { if (e.charCode == 32) { var ele = document.getElementById("entries"); if(ele.scrollHeight > (ele.scrollTop + ele.offsetHeight + OFFSET)) { ele.scrollTop = ele.scrollTop - OFFSET; e.preventDefault(); e.stopPropagation(); } } }, false); })();
ところでフィードの並び順(新しい順か古い順)が保持されるようになってるけどいつの間に!?ちょっと前まで設定しても保存されてなかったと思うんだけど。