PageConcater AutoPager対応版をJavascriptオフでも動くようにする
昨日の続き。こういうのはどうでしょう?
--- pageconcater.user.js 2006-11-29 23:36:11.000000000 +0900 +++ pageconcater.user.js 2006-11-30 00:51:18.000000000 +0900 @@ -23,6 +23,7 @@ /* user options start */ var isStepPaging = true; + var use_timer = false; var GET_NEXT_PAGE_LINE_HEIGHT = 700; /* user options end */ @@ -311,7 +312,11 @@ concater.gotoTop(); concater.iterate(); if (isStepPaging) { - watch_scroll(); + if (use_timer) { + watch_scroll(); + } else { + document.addEventListener('scroll', watch_scroll, false); + } } else { concater.concate(); } @@ -343,7 +348,8 @@ //alert('' + Remain); } } - setTimeout(self,100); + if (use_timer) + setTimeout(self,100); }; function Concater() { this.MIME_TYPE = 'text/plain; charset=Shift_JIS'; @@ -480,7 +486,7 @@ messageArea = document.createElement('div'); messageArea.id = 'pageconcater_message'; messageArea.setAttribute('style', - 'opacity:0.80; whidth:100px; height:20px; border:1px solid #666666; padding: 3px 5px 3px 5px;' + + 'opacity:0.80; width:100px; height:20px; border:1px solid #666666; padding: 3px 5px 3px 5px;' + 'background-color:#B36E55; color: #FFFFFF; font-family: \'Lucida Sans Unicode\', \'Lucida Grande\', sans-serif; font-size: 12px; font-weight: bold;' + 'position:fixed; left:0px; bottom:0px; text-align:left; z-index:100; display: none;' );
昨日の日記を書いた後で、そういえば昔ページの最後でスクロールしようとしたら自動で閉じるなんていうGreasemonkeyスクリプトを書いたことがあったなと思い出して調べてみたらそっちではイベントリスナでページスクロールを検出していたので、同じようにしたらJavascriptがオフでもAutoPagerが動くようになった(あと、ついでに typo を見つけたのでそれの修正も)。
実はこの解決策にたどり着くまでにいくつかの紆余曲折があったんだけど、それはまた別のエントリで。