とうに作者も認識されているようですが(『AutoPagerizeTwitterFilter - SWDYH』、解決用スクリプトもあります)、(ログインした状態の)TwitterのホームでAutoPagerizeが効かないのが気になっていたので、少しソースを調べてみました。
すると、Twitterは次ページを取得してもホームへと戻ってきてしまうため、
if (this.loadedURLs[this.requestURL]) { debug('page is already loaded.', this.requestURL, this.info.nextLink) this.terminate() return }
この箇所でひっかかってしまっていました。
で、考えたのですが、
- this.loadedURLsにはRequest時に指定したURLとResponse時に最終的にリダイレクトされたURL(res.finalUrl)の両方を入れておく。
- 上記箇所でチェックするのはthis.requestURL(チェック時点ではfinalUrlが入ってしまっている)ではなく、次ページURL(getNextURL()で取得したurl)にする。
とすれば、同種の問題が発生した場合でも対処出来るような気がしました。
その辺りを修正したのが
インストール→8551_0.0.41_patched.user.js
※ベース:version: 0.0.41 2009-09-05T16:02:17+09:00
になります。
ついでに、最初に取得した次ページURLがlocation.hrefと同じときには何もしないようにする処理も追加してます。
これで一応、動作するようになりました。
こんな対策だと、問題ありますかね?>id:swdyh さん。