Hatena::Groupjavascript

JavaScriptで遊ぶよ

 | 

2009-07-27

AutoPagerize APIs

05:41

↑の表を覚えるために書いとく。

このあたりを参考に。


addDocumentFilter( function(htmlDoc, requestURL, info){/* */} )

  • htmlDoc : 次ページをそのまま Document 化したもの。(createDocument だったり createContextualFragment だったりするけど同じこと)
  • requestURL : 次ページの URL
  • info : SITEINFO の1データ。(お馴染の url, pageElement, nextLink)
  • 次のページを読み込んで Document 作成した完了直後で、 Document からpageElement を切り出す前であり、「さらに次のページ」の URL 取得前
  • nextLink, pageElement の取得の補助、 SITEINFO の動的な変更など

addFilter( function(pageElement){/* */} )

  • pageElement : 挿入した要素からなる配列。(SITEINFO の XPath は複数要素にマッチすることもある)
  • 次のページの pageElement を挿入後
  • 継ぎ足しした部分を他の Script から操作したい場合など

addRequestFilter( function(opt){/* */} ) [本家のみ]

  • opt : GM_XHR用リクエストオプション

↓が渡される。

var opt = {
        method: 'get',
        url: this.requestURL,
        headers: headers,
        overrideMimeType: mime,
        onerror: this.error,
        onload: function(res) {
            self.requestLoad.apply(self, [res])
        }
    }
  • リクエストのURLやオプションを変更する

addResponseFilter( function(res, requestURL){/* */} ) [本家のみ]

  • レスポンスの内容を変更する

GM_AutoPagerizeLoaded イベント

  • SITEINFO をスキャンして URL が一致し、nextLink、pageElement が存在したら、AutoPagerize を待機状態にしてこれが発火する。
  • 他のスクリプトとの順番は環境によって違う。load より前。

GM_AutoPagerizeNextPageLoaded イベント

  • 次のページの要素を挿入して addFilter したフィルターを適用した後。
  • 本家のバージョン 0.0.39 から。oAutoPagerize でも使える。

AutoPagerize_DOMNodeInserted イベント

  • 次ページの各要素を挿入する度。(SITEINFO の XPath は複数要素にマッチすることもある)
  • 本家のバージョン 0.0.39 から。oAutoPagerize でも使える。

さらに詳しい解説→AutoPagerizeで継ぎ足された部分に自分のスクリプトを適用する方法あれこれ - 0xFF

AutoPagerize_DOMNodeInserted を使うときの XPath の書き方についての指摘→自分でAutoPagerize対応のスクリプトを書く簡単な方法 - blooo

トラックバック - http://javascript.g.hatena.ne.jp/edvakf/20090727
 |