Home‎ > ‎Sleipnir Scripts‎ > ‎

AutoPagerize for SeaHorse

概要

  • ページ分割されたWebサイトを自動的に下に継ぎ足して表示するSeaHorseスクリプト

流用元

ライセンス

  • 流用元に準拠

必須拡張

  • SeaHorse 1.1.2 以上
  • UserAction Extension 1.0.0 以上

動作確認環境

  • Windows XP SP2
  • Internet Explorer 8
  • Sleipnir 2.8.5
  • UserAction Extension 1.0.0
  • SeaHorse 1.1.2

インストール

  1. 圧縮ファイルを解凍後、圧縮ファイル内の plugins ディレクトリ を sleipnir のインストールディレクトリにコピー
  2. SeaHorse再読み込み

説明

  1. 本家同様、画面を次々と読み込んでくっつける
  2. AutoPagerize が有効なサイトへ飛ぶと画面右上に小さい■が表示される
    • 緑:有効
    • 灰:無効
    • 水:読み込み中
    • 青:終了
    • 赤:エラー
  3. SITEINFO は 設定を変更しない限り、自動更新される
  4. SITEINFO キャッシュを即時に更新したいは、添付されている UserAction スクリプト AutoPagerizeClearCache を実行するとキャッシュがクリアされ、次回 web アクセス時に更新される
    • 右上のアイコンにマウスオーバーして、「Clear Cache」をクリックでも同様の動作
  5. 設定変更したい場合は、右上のアイコンにマウスオーバーして、「Setting」をクリックすると表示される設定画面で変更
    • 「about:autopagerize」に直接アクセスでもよい
  6. SITEINFO を作成したい人は、seahorse\AutoPagerize\siteinfo.js に SITEINFO を記載して実験
    • ver 0.55以降、siteinfo.jsが同梱されていないため、siteinfo.jsのベースファイルを本ページからダウンロード
  7. 添付されている UserAction スクリプト AutoPagerizeStateToggle を実行すると、アクティブなウィンドウの AutoPagerize の有効・無効が切り替えられる
  8. siteinfoについては「http://wikiwiki.jp/958/?AutoPagerize」を参照

制限事項

  • 次ページが別ドメインの場合は動作しない
  • グリモン版と比べて以下の点でいろいろとダウングレード
    • Xpath が使えないので、SITEINFO を独自に作成しないといけない
    • たぶん動作遅い
  • GoogleAutoPager と同時に使用する場合は @excludeにGoogleを指定する

    拡張スクリプト

      設定

      • about:autopagerizeへアクセス
        • それ以外の項目を変更したい場合は、seahorse\AutoPagerize\setting.js を変更
        • 詳細はスクリプトファイルを参照

      フィルタ関数について

      1. window.AutoPagerize について
        1. window.AutoPagerize.addFilter(f)
          • ドキュメント取得時にコールバックされるフィルタ関数を追加する
          • コールバック時のパラメータ
            • doc:AutoPagerize が読み込んだ次ページの document オブジェクト。本オブジェクトは、現在表示中の document オブジェクトとは異なるため、イベントの設定などは出来ない
            • url:リクエスト先URL
            • info:現在使用しているsiteinfo
        2. window.AutoPagerize.addDocumentFilter(f)
          • 上記 window.AutoPagerize.addFilter(f) と同じもの(本家と同じ関数名を使ったほうがいいかな~と思って追加した)
        3. window.AutoPagerize.addElementFilter(f)
          • ドキュメント追加後にコールバックされるフィルタ関数を追加する
          • コールバック時のパラメータ
            • nodes:AutoPagerize が継ぎ足したエレメントの配列
        4. window.AutoPagerize.addRequestFilter(f)
          • 次ページのリクエスト前にコールバックされるフィルタ関数を追加する
          • コールバック時のパラメータ
            • opt:xhrのパラメータ(GM_xmlhttpRequest互換)
        5. window.AutoPagerize.addResponseFilter(f)
          • 次ページのレスポンス受信後にコールバックされるフィルタ関数を追加する
          • コールバック時のパラメータ
            • text:受信したHTMLページの生文字列
            • url :リクエスト先URL
            • res :受信時のxhrオブジェクト
        6. window.AutoPagerize.stateToggle()
          • APの有効/無効状態をトグルする
        7. window.AutoPagerize.jQuery
          • jQueryオブジェクト
        8. window.AutoPagerize.SeaHorse
          • 常に true
          • クロスブラウザ対応の UserScript を作成する場合に、グリモン版の AutoPagerize と区別するために使用

      履歴

      • ver 0.56 09/10/14
        • セキュリティ上問題があるため、クロスドメイン通信を実行しないように
        • requestFilter, responseFilter追加
        • documentFilterのパラメータに、urlとinfo追加
        • Live Search Highlighterの同梱をやめた
      • ver 0.55 09/05/27
        • 設定を SQLite に保存するように修正
        • 次ページの取得時にエラーが発生した場合があったものを修正
        • siteinfo.js の同梱をやめた(ただし、siteinfo.jsが存在する場合は、そのSITEINFOは有効になります)
        • 右上のアイコン上をマウスオーバー時に表示されるガイダンス上で、キャッシュクリアと設定画面表示が行えるように
      • ver 0.54 09/05/22
        • IE7環境で、SITEINFOにiframeBugFixを指定した場合に正常に動作しない不具合を修正
      • ver 0.53 09/05/20
        • IE8環境にて、iframeが入れ子になっているページを継ぎ足した際に、IEが起動するものを修正できていなかったため、暫定対策として、SITEINFOにiframeBugFixを追加した
      • ver 0.52 09/05/13
        • 不要なリクエストヘッダを設定しているために、正常に動作しないサイトがあったものを修正
        • IE8インストール環境にて、iframeが入れ子になっているページを継ぎ足した際に、IEが起動するものを修正
      • ver 0.51 09/05/08
        • 日本語ドメインが正しく扱えていない問題を修正
      • ver 0.50 09/04/14
        • 正常に動作しないセレクタがあったため、jQuery 1.2.3 に戻したorz
      • ver 0.49 09/04/14
        • jQuery 1.3.2に差し替え
        • FORCE_TARGET_WINDOW の初期値を false に
        • BASE_REMAIN_HEIGHT の初期値を調整
        • SITEINFO の eraseString を noDesignMode 指定時以外でも動作するように
      • ver 0.48 09/03/02
        • JsDeferred有効時のページ継ぎ足し処理調整
        • FORCE_RELATIVE_URL_FIX有効時のリンク書き換え処理をimgタグのみに
      • ver 0.47 09/02/24
        • ページ追加時の処理タイミング調整
        • FORCE_TARGET_WINDOW が true のときに target 属性が変更されないことがある不具合を修正
      • ver 0.46 09/02/23
      • ver 0.45 08/12/22
        • ページ区切り線とページ番号にclass名を付加するように修正
      • ver 0.44 08/10/31
        • ロード後の次ページ取得処理をすぐに行わないように修正
      • ver 0.43 08/07/24
        • 初期化処理を見直し、SITEINFO が無いサイトで若干高速化
        • 同梱の GoogleHighlhighter が動作しなくなっていたので修正
      • ver 0.42 08/06/12
        • SITEINFO_URLS に記載されている URL の末尾が数字だった場合に、その数字をインクリメントして SITEINFO を取得しにいくように修正
        • AutoPagerize の終了時に、右上アイコンのエレメントは消去せずに、非表示にするように修正(メモリリークの可能性対策)
        • SITEINFO のキャッシュを DB に保存するように修正(設定を変更することで、従来のようにテキストファイルに保存することも可能)
        • setting.js、scripts\AutopagerizeClearCache.js が変更されています
      • ver 0.41 08/05/21
        • ページ継ぎ足し時に、正常に継ぎ足し出来ない場合が有るものを修正した
        • 何らかの要因でページ継ぎ足しに失敗した場合はエラー表示するように修正
        • インクリメンタルモードの baseURL が nextlink だった場合に、最初に取得した次ページの URL を基準 URL とするようにした
        • 継ぎ足したページ内の画像が相対パスで指定されている場合に、正しい画像を表示できていなかったものを修正
        • setting.js が変更されています
      • ver 0.40 08/05/13
        • SITEINFOの更新先URLを変更(複数ページに対応)
        • setting.js が変更されています
      • ver 0.39 08/05/13
        • SITEINFOの書式に不備があり、SITEINFOのアップデートに失敗した際に、全てのSITEINFOが更新されていなかったものを不備のあるSITEINFOのみ更新しないように修正
        • 次頁のURLに#が含まれている際に、ページの取得が正常に行えなかった不具合を修正
      • ver 0.38 08/05/07
        • FORCE_TARGET_WINDOW が true のとき、javascript スキームのリンクに対しても target 属性を変更していたものを修正
        • addElementFilter で追加した function のパラメータに同一エレメントが複数回渡される不具合を修正
      • ver 0.37 08/04/30
        • セキュリティ対策
        • インクリメンタルモード追加
      • ver 0.36 08/04/07
        • 別ドメインのフレームを含むページを表示した際にエラーが表示されていた不具合を修正
        • 自動更新時にフォーカスを奪ってしまう不具合を修正
        • ページ継ぎ足し時に、次ページ内の iframe にアンカー付き URL が指定されていた場合にブラクラ化していたものを修正
        • Google Image 検索で「search」を含む単語を検索した際に以降の SeaHorse スクリプトが実行されないものを修正
      • ver 0.35 08/04/04
        • フレームページを多用したページで固まることがあった不具合を修正
      • ver 0.34 08/03/31
        • 特定の PDF リーダを使用して PDF を開いた際に、エラーが表示される不具合を修正
        • window.AutoPagerize.addElementFilter() を追加(本家の addFilter() と同等のものです)
        • window.AutoPagerize.addDocumentFilter() を追加(本家の addDocumentFilter() と同等のものです
        • なお、window.AutoPagerize.addFilter() は、本家の addDocumentFilter() と同等のものなので、名称をいつか変更したいのですが、他の AutoPagerize 対応のスクリプトにも影響が出るため、名称変更を自粛しています)
        • window.AutoPagerize.SeaHorse を追加(クロスブラウザ対応の UserScript を作成する場合に、グリモン版の AutoPagerize と区別するために使用してください)
      • ver 0.33 08/03/26
        • flashの表示が乱れる場合に、それを回避できる設定「DELAY_ICON_FIX」を追加した
        • (有効にすると、副作用として、右上のアイコンがスクロールに追従する動きが鈍くなります)
        • ※setting.js が変更されています
        • 多少高速化したかも知れない
        • insertBefore が指定されていない場合に、ページの継ぎ足しが正常に行われない場合があったものを修正した
        • 次ページの URI にマルチバイト文字が指定されていた場合にも正常に開けるようにした
        • フレーム対応(別ドメインのフレーム上では動きません)
      • ver 0.32 08/02/14
        • jQueryセレクタの:nth-last()が正常に動かない不具合修正
        • jQueryセレクタに:gt-last()追加
      • ver 0.31 08/02/13
        • jQuery1.2.3 にアップデート
        • ファイル名が変更されています。気になる方は、sleipnir インストールディレクトリ\plugins\seahorse\AutoPagerize\jquery-1.2.2.jsを削除してください。
        • タブを閉じたときの引っ掛かりを解消
        • ※IE のメモリリーク対策として、jQueryが自動で window.unbind にイベントをアタッチしている処理を消した(jQuery.bind を使ってイベントをアタッチしていないため)
        • Picasa ウェブアルバムが正常に動かない不具合を修正
        • jQuery 内部でエラーが発生した場合にダイアログが表示されないように
      • ver 0.30 08/01/30
        • eraseString が不要になるように修正
        • SITEINFO に noDesignMode: true を記載することで、0.29以前のモードで動作するように(Google Image 等、スクリプトでページを生成しているサイトや、designMode でレイアウトが乱れるサイト用です)
      • ver 0.29 08/01/22
        • 一部のサイトで正常に動作しない不具合を修正(ver 0.28での不具合)
      • ver 0.28 08/01/16
        • jQuery1.2.2 にアップデート
        • ファイル名が変更されています。気になる方は、sleipnir インストールディレクトリ\plugins\seahorse\AutoPagerize\jquery-1.2.1.jsを削除してください。
      • ver 0.27 08/01/15
        • メッセージ領域に自身のバージョン情報を表示するように
        • 特定のサイトでサイト側の javascript が正常に動作しなくなる可能性があったので修正
        • lib.jsを削除しました。気になる方は、sleipnir インストールディレクトリ\plugins\seahorse\AutoPagerize\lib.jsを削除してください。
        • GoogleHighlight.user.js が GMail で誤爆する可能性があったので修正
        • サイトによってメッセージが正しい位置に表示されない不具合を修正
      • ver 0.26 07/12/19
        • insertBefore 未指定時に、次ページを読み込みに行くスクロール位置判定がおかしかったため修正
        • jQuery セレクタの :visible, :hidden が動作していない不具合を修正
      • ver 0.25 07/12/14
        • id="AutoPagerize" が指定されているサイトで動作しない不具合を修正
        • microformats での動作時に複数の AutoPagerize が実行されてしまう問題を修正
      • ver 0.24 07/12/11
        • microformats も通常の SITEINFO と同様 wiki で管理するように修正
        • insertBefore を指定しなくても動作するようにした(pageElement の後に足されます)
        • 二重読み込み防止(スクリプトで iframe を追加すると二重読み込みするときがあったので)
        • 一部色設定が反映されない箇所があったため修正
      • ver 0.23 07/11/26
        • 次ページ受信時に、UTF-8 で取得した場合にも文字コードを変換してしまっていたので変換しないように修正
        • AutoPagerizeClearCache 実行後の最初の Web アクセス時に、AutoPagerize が実行されるように修正
        • AutoPagerizeClearCache 実行時にキャッシュファイルを削除した旨を表示するように修正
        • 右上のヤツに読み込み済みページ数を表示できるようにした(setting.jsが変更されています。注意してください)
        • IE7 で position:fixed が使えるときは、右上のヤツを position:fixed で表示するようにした
      • ver 0.22 07/11/21
        • エラーが発生したときにエラーである旨を表示するようにした
        • 右上の■をクリックすると on/off をトグルするようにした
        • 色を設定できるようにした(setting.jsが 変更されています。注意してください
      • ver 0.21 07/11/20
        • 次ページのリンクを取得する際の URL エスケープ対策が完全ではなかったため修正
        • 別ドメイン経由のリダイレクト時に MSXML2.ServerXMLHTTP が作成できなかった場合はエラー終了するように修正
      • ver 0.20 07/11/19
        • ver 0.18 の修正に不備があったため修正
      • ver 0.19 07/11/19
        • ページ挿入時に挿入できない場合がある不具合を修正
      • ver 0.18 07/11/19
        • 次ページのリンクを取得する際の URL エスケープ対策不具合修正
      • ver 0.17 07/11/17
        • javascript が原因で固まるサイト用に、siteinfo に eraseString を追加した(詳細は wiki を参照)
      • ver 0.16 07/11/16
        • 次ページのリンクを取得する際の URL エスケープ対策
      • ver 0.15 07/11/15
        • 次ページへのリンクにドメイン名が含まれていない場合の対処
      • ver 0.14 07/11/15
        • Cookie を設定したときに正常に動作しないサイトがあったので Cookie 情報があったら設定するように修正
        • MSXML2.ServerXMLHTTP を使用時にリファラを設定した場合に動作しなかったため修正
      • ver 0.13 07/11/15
        • MSXML2.ServerXMLHTTP だと proxy を個別に設定する必要があるようなので、
        • 通常は Microsoft.XMLHTTP を使用し、別ドメインへアクセスする際には MSXML2.ServerXMLHTTP を使用するように修正(これにより、通常時は proxy 設定が引き継がれるようになった)
        • ただし、別ドメイン経由でリダイレクトしてるサイト(Yahoo!, Ask.jp等)では、proxy 設定が引き継がれないが、これは仕様とするどうしても proxy 設定したい人は proxycfg.exe を使ってくれ
        • 次ページ取得時に、referer を設定するようにした(テクノクラティ対策)
      • ver 0.12 07/11/14
        • 次ページ取得時に Cookie 情報を設定するようにした。(ニコニコ動画対策)
      • ver 0.11 07/11/13
        • nextLink がリダイレクトされる場合にも正常に動作するように。(環境によってはリダイレクト未対応)
        • 多少高速化したかもしれない
      • ver 0.10 07/11/08
        • 本家 AutoPagerize の MICROFORMAT に対応
        • 有効・無効の切り替えをドキュメントのダブルクリックではなく UserAction スクリプトで実行するように修正
        • 多少高速化したかもしれない
      • ver 0.09 07/11/01
        • 自動更新対応
        • nextLink が無くても、FORCE_TARGET_WINDOW が機能するように修正
      • ver 0.08 07/10/31
        • CSS セレクタで SITEINFO を記述するように変更(jQuery 使用)
      • ver 0.07 07/10/29
        • FORCE_TARGET_WINDOW をページを追加した際に起動していたが、ページを読み込んだときにも起動するように修正。
        • remainHeight を指定したときのページ読み込み位置がおかしかったので修正
      • ver 0.06a 07/10/25
        • SITEINFO追加
          • WebCG - エッセイ
          • WebCG - インプレッション
      • ver 0.06 07/10/24
        • SITEINFO追加
          • デイリーポータルZ
          • WebCG
          • livesearchhighlight.user.js 追加(googlehighlight の Live Search 版)
      • ver 0.05 07/10/23
        • SITEINFO追加
          • Live Search
          • tumblr(dashboard)
          • tumblr
        • コールバック関数を独自仕様で実装していたが、元々容易されているものを使用するようにした
      • ver 0.04 07/09/12
        • SITEINFO修正
          • Google グループ(topics)
          • Google News
          • Google Web History
          • ITmedia
        • SITEINFO追加
          • Fenrirユーザコミュニティ 検索
      • ver 0.03 07/09/10
        • sleipnirオブジェクトにアクセスできる可能性があったので、出来ないようにした
      • ver 0.02 07/09/08
        • 文字化け解消
      • ver 0.01 07/09/07
        • 新規作成

      ダウンロード