丸投げ

Greasemonkey 0.9.1以降では、AutoPagerize使用時に2ページ目以降にスクリプトが適用されません。
これはGreasemonkey側の問題です。

やる気のないソフト置き場 : Greasemonkeyユーザースクリプト

AutoPagerizeの問題点として連結されたページで画像が表示されない場合があるだとか、自前のGreasemonkeyスクリプトが機能させにくいとかが挙げられます。致し方ない部分だとは思いますが、なんとかできるものならなんとかしたいですね。


私自身ここ数年悩まされてきたのですが、「それなら次のページにリダイレクトしちゃえばいいじゃん」と安易な発想に思い至りました。そこで書いたGreasemonkeyスクリプトがこんな感じです。

function getScrollHeight() {
    return Math.max(document.documentElement.scrollHeight, document.body.scrollHeight)
}

function getScrollPosition() {
    return Math.max(document.documentElement.scrollTop || document.body.scrollTop)
}

if(getScrollPosition()>Math.round(getScrollHeight()*0.8))
{
	location.href="次のページのURL";
}

現在のページの8割以上スクロールしてあれば、次のページにリダイレクトすればいいなと。次のページのURLは、正規表現なりDOMなりXpathなりで確保します。ですがこれだと

  • 静的?に現在のスクロール量を計算するので、AutoPagerizeのように自動的なジャンプができない
  • AutoPagerizeを無効にした上でいちいちページを更新しないと機能しない

どちらも私には解決の難しい問題ですので、誰か頑張ってください。そして私に教えてください