にほ録

作業記録です。

Google Reader Full Feedの修正

2009-10-25 07:20:28 | Weblog
Google Readerでもgをぺちって全部全文読んじゃおう。
これ便利なんだが、検索のフィールドでキー入力中に反応していしまうのが玉にキズ。
というわけで修正した。

まず、スクリプトの適当などこかにこの処理を入れる。
<code>
var full_feed = true;
var timer2 = setTimeout(function boo() {
    if(document.getElementById('search-input')) {
      document.getElementById('search-input').addEventListener('focus', stop_full_feed, false);
      document.getElementById('search-input').addEventListener('blur', start_full_feed, false);
    }
    else {
      setTimeout(boo, 500);
    }
  }, 500);

function stop_full_feed() {
  full_feed = false;
}

function start_full_feed() {
  full_feed = true;
}
</code>あとは、キー入力の判定のところの
<code>if (e.keyCode == w.KeyEvent.DOM_VK_Z) {</code>

<code>if (e.keyCode == w.KeyEvent.DOM_VK_Z && full_feed) {</code>
に修正する。

はまった点①
Google Readerを開いた時点では、document.getElementById('search-input')が存在しない。なので、これが出来るまでタイマーで待つことにした。

はまった点②
Greasemonkeyでは、document.getElementById('search-input').onfocus = function() {hoge();}のような書き方が出来ない。これをやると、「"Component is not available" nsresult: "0x80040111」になる。
この点については、以下の記事が参考になった。
304 - narucissus is Not Modified: Greasemonkeyで遊ぶ(その1)

最新の画像もっと見る