AutoPagerize

Last-modified: 2014-08-28 (木) 23:18:38

SleipnirプラグインSeaHorse用スクリプト、AutoPagerize for SeaHorse のSITEINFOに関するページです

 

※基本的に、SITEINFOは削除しないでください。個人的に不要なSITEINFOが多数ある方は、siteinfo.jsにSITEINFOを記載し、自動更新を無効にして利用してください。

 

※ver0.07以前のSITEINFOについてはこちら

 

SITEINFOの不具合や、作成依頼はコメントに記載してください。

 
 

拡張スクリプト

AutoPagerizeを拡張するスクリプト書いたよーという人は、こちらに記載してもらえるとありがたいです。

継ぎ足したページにもはてなスターを表示するSeaHorseスクリプト

指定ページ番号位置へスクロールするSeaHorseスクリプト

ページ番号位置へスクロールするSeaHorseスクリプト for マウス

URLフィルタを追加するSeaHorseスクリプト

本家のカウントチャート機能を追加するSeaHorseスクリプト

任意のタイミングで次ページを取得するUserActionスクリプト

はてなブックマークのショートカットキーを、AutoPagerizeされたページでも有効にする

VectorのカテゴリページでAutoPagerize for SeaHorseを動作可能にするSeaHorseスクリプト

Google画像検索結果でAutoPagerize for SeaHorseを動作可能にするSeaHorseスクリプト

Yahoo JapanでAutoPagerize for SeaHorseを動作可能にするSeaHorseスクリプト

 

利用方法

SITEINFOの説明

  • url
    • 対象となるサイトのURLにマッチする正規表現
    • microformatsと記載するとmicroformatsとして認識します。
  • nextLink
    • 次のページへのリンクをjQueryセレクタで指定。
    • 取得したリンクから次のページを読み込む。
    • a:contains("次へ")等指定すると、ページ内の次への文字列を含む最初に発見したリンクをnextLinkとみなしてしまう場合があるため、親ノードを指定するなどの注意が必要。
  • insertBefore
    • 読み込んだページから切り出したノード群を挿入する際に基準となるノードをjQueryセレクタで指定。
    • insertBeforeのと言う名の通り、基準となるノードの前に挿入される。
    • 指定しない場合は、pageElementの後に追加されます。(ver.0.24以降)
  • pageElement
    • ページから切り出すノード群をjQueryセレクタで指定。
    • この指定によって取得されたノード群がinsertBeforeの要素の前に挿入される。
  • remainHeight(非推奨)
    • 次のページを自動で読み込む際の基準を指定。
    • 指定しない場合はsetting.jsのBASE_REMAIN_HEIGHT。
  • noDesignMode(独自拡張)(ver 0.30以上)
    • trueのみ指定可能
    • Google Image等、JavaScriptでページ生成しているサイトや、レイアウトが乱れるサイトに指定
    • (通常時は、次ページ取得時に、document.designModeをonにしてJavaScriptの実行を抑制しています。noDesignModeにtrueを指定すると、designModeをonにせずに次ページを取得します。)
  • eraseString(独自拡張)
    • ver 0.30以上の場合は、noDesignModeがtrueの時のみ指定可能
    • 特定の文字列を削除したい場合に、その正規表現を指定。(広告等が原因で固まるサイト用に)
    • 例:スクリプトタグ削除
      eraseString: '<script[^<]*<\/script>'
  • increment(ver 0.37以上)
    • javascriptでページ遷移するサイト用に、URL内のページ番号を自動でインクリメントしながら次ページを取得するようになる。
    • incrementを指定した際も、上記nextLinkは必ず指定する必要がある(次ページ有無の確認に使用しているため)
    • 以下のメンバを指定可能。
    • baseURL
      • 次ページのURLを生成する際に使用するベースURLの正規表現
      • window.location.hrefとマッチさせ、RegExp.$1をベースURLとして使用する
      • 'nextLink'を指定した場合は、1ページ目のnextLinkをベースURLとして使用する
      • 省略した場合は、現在のURLをベースURLとして使用する
    • firstNum
      • 最初に次ページのURLを作成する際に、ページ番号に使用する数値。
      • アクセスしたURLが下記nextMatchにマッチする場合は使わない。
    • nextMatch
      • URLに含まれているページ番号の正規表現。
      • RegExp.$1に1足して次ページのページ番号とする。
    • nextLink
      • ページ番号指定用の文字列。#を次ページのページ番号に置換する。
      • URLがnextMatchにマッチした場合は、その箇所をnextLinkに置き換える。
      • URLがnextMatchにマッチしない場合は、URLにnextLinkを付け足す。
    • nextIncrement
      • 次ページのページ番号を作るときに、今のページのページ番号に足す数値。
      • 省略した場合は1ずつ足す。
    • 使用例
      url: 'http://eow.alc.co.jp/.*?/',
      increment: {
       baseURL: '(http://eow.alc.co.jp/.*?/)',
       firstNum: 2,
       nextMatch: '\\?pg=(\\d+)',
       nextLink: '?pg=#'
      },
      pageElement: '#resultList ul',
      nextLink: '#naviArea a:contains("次へ")'
  • iframeBugFix(独自拡張)(ver 0.53以上)
    • trueのみ指定可能
    • tumblrのdashboardなど、iframeが入れ子になるページを追加した際に、IE8が勝手に起動する問題が起こる場合に指定
    • (ただし、これを指定すると、documentFilterの引数がdocumentオブジェクトじゃなくなるため、拡張スクリプトが正常に動作しない可能性がありますので、通常は指定しないでください)

SITEINFOの追加について

  • 以下のリンクをクリックして編集してください。
  • 新しいSITEINFOを追加する場合は、基本的には一番最後のページに追加してください。ただし、SITEINFOの順番を考慮する必要がある場合は除きます。
  • 必ずローカル環境で確認済みのものを追加してください。
    • sleipnirのインストールディレクトリ\plugins\seahorse\AutoPagerize\siteinfo.jsで実験してください。
  • 既存のSITEINFOを参考にしてください。
  • **タイトルと、SITEINFOの構文以外は記載しないでください。(自動更新時にエラーになる可能性があります)
  • 末尾のプロパティには , を付けないでください。
  • 複数のSITEINFOを同時に追記した場合、ページ更新時に「不正なLINK編集です」エラーが発生する場合があります。その場合は、SITEINFOを1つづつ追記→ページ更新してください。
  • 追加する際は、SITEINFOの順番も考慮してください。(他のSITEINFOにマッチして、追加したSITEINFOが動作しない場合などがあるため)
  • SITEINFOはみんなで共有するものです。時には「こちらのほうが良いのでは?」といった意見もあると思います。そういった場合には、議論してみんなで決めたほうがより多くの人が幸せ(ハピネス?)になれると思います。活発な意見交換があるとうれしいです。
  • jQueryのセレクタ書式については、API/1.2/Selectors - jQuery JavaScript LibrarySelectors - jQuery 1.2.6 日本語リファレンスを参考にしてください。
  • 上記拡張セレクタに加えて、以下のセレクタを独自に追加してあります。
    • :nth-last(index):末尾から数えてindex番目の単一要素。(0を指定すると:lastと同意)
    • :gt-last(index):末尾から数えてindex番目から末尾までの全ての要素。(1を指定すると最後尾-1の要素と最後尾の要素を返す)
  • 更新した際は、コメントを残すといいかも。

セレクタ書式Tips

  • 以下のことを気にしながらセレクタ書式を作ると、処理速度に良い影響を与えます
    • div#hogeより#hogeのほうが早い(ID指定時はタグは不要)
    • #hoge>#fugaより#fugaのほうが早い(ID指定時は最後の1つのみ指定でおk)
    • .hogeよりdiv.hogeのほうが早い(タグは省略しないほうが早い)
    • div divよりdiv>divのほうが早い
    • ol>liよりolのほうが早い(マッチするエレメントが少ないほうが早い)
       

現状では対応が難しいサイトリスト

  • 1x.com - Photo search
    • "検索がPOSTだから無理みたいです。2ページ目以降はなぜかGETになってるので動くと思いますが、あまり意味無いですね・・・"との事。

SITEINFO

コメント

「動作しなくなった」などの報告は、URL付きで報告してください。

  • Lunascape - Google 検索 - 修正 -- ie7? 2013-12-15 (日) 14:43:29
    • 日経BPネット ビズカレッジ -- 吉田? 2014-08-28 (木) 23:18:37
  • とある法律判例の全文検索β - 追加 -- ie7? 2013-12-04 (水) 15:32:58
  • Beyond Nuclear - Home - 追加 -- ie7? 2013-11-04 (月) 20:24:52
  • テレビ番組表【Gガイド.テレビ王国】 - 検索結果一覧 - 追加 -- ie7? 2013-10-26 (土) 17:17:14
    • 同 - ジャンル別番組表 - 追加 -- ie7? 2013-10-26 (土) 17:19:22
  • Topsy - Real-time search for the social web - 没行 -- ie7? 2013-09-21 (土) 16:36:15
  • AJW by The Asahi Shimbun - 3/11 Disaster in Japan - 追加 -- ie7? 2013-09-15 (日) 14:53:16
  • OKOS(オコス)政治記者会見文字起こし書き起こし情報サイト - 追加 -- ie7? 2013-08-15 (木) 19:20:51
  • リムエネルギーニュース - 一覧 - 追加 -- ie7? 2013-07-29 (月) 18:10:53
  • 病院検索・口コミサイト 医療リンク.com|診療科目から病院を探す - 追加 -- ie7? 2013-06-16 (日) 12:40:49
  • CiNii Articles - 日本の論文をさがす - 国立情報学研究所 - 追加 -- ie7? 2013-05-25 (土) 16:12:00
    • CiNii Books - 大学図書館の本をさがす - 国立情報学研究所 - 統合 -- ie7? 2013-05-25 (土) 16:29:44