pagerizeをダブルクリックで制御するように変更

昨日のAutopagerizeの先読み位置を変更してより快適にブクマコメントで、id:otsune

Pagerizeしてほしくない時も有るんだよな。誤爆防止に右上の■で切り替えれば良いけど。グッとガッツポーズしたら無効とかほしい

といってて、そーだよな。と納得した。
でもAutopagerizeってダブルクリックで制御できるんだからWiiリモコンかなんか握りしめてガッツポーズすればいいんじゃね?って思って確認してみたら*1、ダブルクリックでon/off制御できなくなってた。配布元のid:swdyhによると、

久しぶりにアップデートしました。
わりと細かい部分の修正です。

  • 右上のところでon/offの切り替え
  • ダブルクリックの切り替え廃止
  • エラーの表示を追加
  • console.logはDEBUG_MODEのみ (通常時はunsafeWindowは使わないように)
  • 右上のにid名を追加(autopagarize_icon, autopagarize_help)
  • addFilterで追加したものの実行をページの追加後に変更
  • 継ぎ足しして高さがほとんど増えていない場合ストップ (DOS攻撃対応)
AutoPagerize0.0.13 - SWDYH

仕様変更があったとは。そういえば最近ダブルクリックしても効かないなーとは思ってたんだよね*2。というわけでダブルクリックでon/off制御できるようにいじってみた。

使ったのは現行のver.0.0.17。

--- autopagerize.user.js	2007-11-14 19:43:56.402724800 +0900
+++ autopagerize.user.new.js	2007-11-14 19:44:21.448739200 +0900
@@ -80,6 +80,7 @@
     this.loadedURLs = {}
     var toggle = function() {self.stateToggle()}
     this.toggle = toggle
+    document.body.addEventListener("dblclick", toggle, true)
     GM_registerMenuCommand('AutoPagerize - on/off', toggle)
     this.scroll= function() { self.onScroll() }
     window.addEventListener("scroll", this.scroll, false)
@@ -295,6 +296,7 @@
 AutoPager.prototype.terminate = function() {
     this.icon.style.background = COLOR['terminated']
     window.removeEventListener('scroll', this.scroll, false)
+    document.body.removeEventListener("dblclick", this.toggle, true)
     var self = this
     setTimeout(function() {
         self.icon.parentNode.removeChild(self.icon)

これでダブルクリックで制御できるようになるのであとはWiiリモコンとかで各自工夫すること。

*1:あわよくばホントにWiiリモコン握ってガッツポーズしてみようと思ってた

*2:鈍いにもほどがある