LDRize for SeaHorse
概要
LivedoorReaderやFastLadderのようなショートカットキーを色々な場所で利用可能にするSeaHorseスクリプト
本家
ライセンス
流用元に準拠
必須拡張
SeaHorse 1.1.2 以上
UserAction Extension 1.0.0 以上
動作確認環境
Windows XP SP2
Internet Explorer 7
Sleipnir 2.8.2
UserAction Extension 1.0.0
SeaHorse 1.1.2
インストール
圧縮ファイルを解凍後、plugins ディレクトリを sleipnir のインストールディレクトリにコピー
SeaHorse再読み込み
説明
適当にgoogleで f 【Ctrl+[】 j j o(オー) p p l 1 Enter k k o(オー)の順にキーを押せば使い方が分かるかも
キーバインドを忘れたら?キーを押す
pinnned item list (l) を表示中に、表示されている数値を入力し、Enter を押下すると、そのピン位置にスクロールする
SITEINFO は 設定を変更しない限り、自動更新される
SITEINFO キャッシュを即時に更新したいは、添付されている UserAction スクリプト LDRizeClearCache を実行するとキャッシュがクリアされ、次回 web アクセス時に更新される
SITEINFO を作成したい人は、seahorse\LDRize\siteinfo.js に SITEINFO を記載して実験
ver 0.29以降、siteinfo.jsが同梱されていないため、siteinfo.jsのベースファイルを本ページからダウンロード
siteinfoについては「http://wikiwiki.jp/958/?LDRize」を参照
window.LDRize について
LDRize が実行されたページでは、window.LDRize オブジェクトが追加され、LDRize の一部の機能にアクセス可能。また、LDR (livedoor Reader)でも一部利用可能(◎が記載されているもの)
window.LDRize.SeaHorse◎
常に true
クロスブラウザ対応の UserScript を作成する場合に、グリモン版の LDRize と区別するために使用
window.LDRize.jQuery◎
jQuery にアクセス
LDRize に同梱されている jQuery は、軽量化のためにダイエットされているため、本家の jQuery の一部の機能は使用不可→Ver.0.12 以降では、全ての機能が使用可能となりました
window.LDRize.getPinList()◎
ピンが設定されているパラグラフを配列で返却
window.LDRize.getPinListURL()◎
ピンが設定されているパラグラフ内のリンク URL を配列で返却
window.LDRize.getCurrentParagraph()◎
現在のカレントパラグラフを返却
window.LDRize.getParagraphLink(paragraph)◎
パラメータに渡されたパラグラフのリンクを返却
window.LDRize.getParagraphView(paragraph)◎
パラメータに渡されたパラグラフの View を返却
window.LDRize.clearPin()◎
ピンリストを削除
window.LDRize.addKeyBind(key, func)
キーバインドを追加(指定したキーに、すでに割りあたっている機能があれば、それを返却)
window.LDRize.removeKeyBind(key, func)
キーバインドを削除
window.LDRize.getSiteInfo()
現在アクティブな SITEINFO を返却
window.LDRize.setSiteInfo(siteInfo)
SITEINFO を上書き(指定された SITEINFO でパラグラフを再取得します)
window.LDRize.initParagraphs()
パラグラフを再取得
サンプルとして、以下のスクリプトを添付してあるので、そちらを参照。
LDRizePinAddHatebu.js・・・UserAction スクリプト ハテナブックマークにピンリストを追加
LDRizeClearPin.js・・・UserAction スクリプト ピンリストを削除
LDRizeShowGoogleCache.user.js・・・Seahorse スクリプト Google 検索結果に 'c' で Google キャッシュを開くキーバインドを追加
設定
設定は、? キーを押下して、表示されたヘルプ内の「setting」をクリック
キーバインドを静的に追加したい
キーバインドをスクリプトから動的に追加したい場合は window.LDRize.addKeyBind() を使えばいいが、「UserAction スクリプトを実行したい」など、静的に追加したい場合は、seahorse\LDRize\ に keybindex.js というファイルを作成し、以下のように記載すればよい。
UserAction スクリプトの LDRizePinAddHatebu.js をキーボードの「b」で実行したい場合
KEYBIND['b'] = function() {sleipnir.RunScript(sleipnir.ScriptFullName.replace(sleipnir.ScriptName, '').replace(/\.js$/, '') + '..\\scripts\\LDRizePinAddHatebu.js');};
制限事項
グリモン版と比べていろいろとダウングレード
ミニバッファ無い →サジタリウス& UserAction スクリプトで代用可能
ピンわかりにくい
SITEINFO 切り替えられない
ライセンス
履歴
ver 0.29 09/09/16
siteinfo.jsの同梱をやめた
ver 0.28 09/06/25
設定GUI追加
ver 0.27 09/04/14
正常に動作しないセレクタがあったため、jQuery 1.2.3 に戻したorz
ver 0.26 09/04/14
jQuery 1.3.2に差し替え
LDRizeShowGoogleCache.user.js が動かなくなっていたので修正
ver 0.25 09/02/23
若干高速化
ver 0.24 08/10/31
livedoor Clip上で正しく動くように
ver 0.23 08/07/01
LDR上で、window.LDRizeの一部の機能が利用可能になるよう修正
ver 0.22 08/06/17
clearPin() でピンを削除した場合に、ステータスバーがクリアされていなかった不具合を修正
addKeyBind() ですでに割りあたっているキーバインドを上書きする場合に、割りあたっているキーバインドを返却するように修正(元に戻せるように)
LDRize の情報にアクセスできるいくつかのインタフェースを追加した
ピンリストの処理を大幅に変更した→常時ピンリストを表示するのを止め、ピンリストを表示中に表示されている数値を入力し Enter を押下すると、そのピン位置にスクロールするように
SITEINFO の更新先URLを変更(複数ページに対応)
SITEINFO_URLS に記載されている URL の末尾が数字だった場合に、その数字をインクリメントして SITEINFO を取得しにいくように修正
SITEINFO のキャッシュを DB に保存するように修正(設定を変更することで、従来のようにテキストファイルに保存することも可能)
setting.js、scripts\LDRizeClearCache.js が変更されています
ver 0.21 08/05/07
セキュリティ対策
スクリプトによるクライアントの操作を許可するがオフでもそれなりに動くように
f でフォーカスを移した後に C-[ か Esc でフォーカスを解除した際に、入力内容を削除しないように修正
ver 0.20 08/04/07
別ドメインのフレームを含むページを表示した際にエラーが表示されていた不具合を修正
ver 0.19 08/04/04
フレームページを多用したページで固まることがあった不具合を修正
ver 0.18 08/03/31
特定の PDF リーダを使用して PDF を開いた際に、エラーが表示される不具合を修正
window.LDRize.SeaHorse を追加(クロスブラウザ対応の UserScript を作成する場合に、グリモン版の LDRize と区別するために使用してください)
ver 0.17 08/03/26
多少高速化したかも知れない
URI にマルチバイト文字が指定されていた場合にも正常に開けるようにした
フレーム対応(別ドメインのフレーム上では動きません)
ver 0.16 08/02/14
jQueryセレクタの:nth-last()が正常に動かない不具合修正
jQueryセレクタに:gt-last()追加
ver 0.15 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.14 08/01/19
一部のサイトで正常に動作しない不具合を修正(ver 0.12での不具合)
SITEINFO の domain に jQuery セレクタ書式を記述できるようにした
上記の修正により、誤爆を防ぐために SITEINFO の disable に対応した
f でフォーカス移動時に入力エリアに "f" が入力されてしまっていたので修正(ver 0.13での不具合)
ヘルプ領域に jQuery のバージョンを表示するようにした
jQuery を多用して書いたらもっさりしたような気がしたので戻したorz
ver 0.13 08/01/16
SITEINFO の stripe に対応した
設定で有効・無効を変更可能(デフォルトは有効)
setting.js が修正されています
ヘルプ、ピンリストが一部のサイトで正しく表示されなかったので修正
スタイルを少し調整
jQuery を多用してソースコードを整理
LDRizeShowGoogleCache.user.js が正しく動作していなかったので修正(ver 0.12での不具合)
ver 0.12 08/01/16
jQuery1.2.2 にアップデート
ファイル名が変更されています。気になる方は、sleipnir インストールディレクトリ\plugins\seahorse\LDRize\jquery-1.2.1.jsを削除してください。
AutoPagerizeと併用している人は、AutoPagerizeも最新版を利用しないと動きません(window.AutoPagerize.jQuery がある場合は、そっちを利用するようにしているため)
paragraph の位置を jQuery.offset() を使用して取得するようした
ver 0.11 08/01/15
ヘルプ領域に自身のバージョン情報を表示するように
setting.js が若干修正されています
特定のサイトでサイト側のjavascriptが正常に動作しなくなる可能性があったので修正
lib.jsを削除しました。気になる方は、sleipnir インストールディレクトリ\plugins\seahorse\LDRize\lib.jsを削除してください。
ver 0.10 07/12/19
画面下部の paragraph も画面上部に来るように修正(視点を移動せずに閲覧できるように)
jQuery セレクタの :visible, :hidden が動作していない不具合を修正
ver 0.09 07/12/14
インジケータ、ピンのイメージ位置が実際の paragraph 位置とズレる場合があるものを極力ずれないように修正(完全に対策出来ていないと思われるので、ズレるサイトがあったら URL を教えてください)
id="LDRize" が指定されているサイトで動作しない不具合を修正
ver 0.08 07/12/11
二重読み込み防止(スクリプトで iframe を追加すると二重読み込みするときがあったので)
LDRize.removeKeyBind() 追加
LDRize.getParagraphView() 追加
ver 0.07 07/11/28
LDRizeClearCache 実行後の最初の Web アクセス時に、LDRize が実行されるように修正
LDRize 実行時に、実行された document がアクティブな場合のみ、フォーカスを合わせるようにした(別タブで開いたアクティブでないドキュメントにフォーカスが移らないようにした)
ver 0.06 07/11/22
LDRize の情報にアクセスできるいくつかのインタフェースを追加した
LDRize にキーバインドを追加できるインタフェースを追加した
上記インタフェース追加にともない、サンプルスクリプトをいくつか追加した
keybindex.js で静的にキーバインドを追加できるようにした
setting.jsが修正されているので、注意!!
リンクを取得する際のURLエスケープ対策
ver 0.05 07/11/14
LDRize のピンに対して外部スクリプトからアクセスできるようにした
上記のサンプルとして LDRizePinAddHatebu.js を添付した
LDRize 用の画像ファイルを更新した(画像をいくつか添付してあるので、好きなファイルをリネームして使用してください)
ver 0.04 07/11/08
microformats 対応
ピンリストをまともに動くように
多少高速化したかもしれない
ver 0.03 07/11/01
CSS セレクタで SITEINFO を記述するように変更(jQuery使用)
自動更新対応
ver 0.02 07/10/24
スムーススクロール実装
Up / Down アイコン実装
ピンリスト仮実装(未完)
SITEINFO追加
ver 0.01 07/09/12
新規作成
ダウンロード
LDRize
OEI対応版はこちらからSleipnir Assembly House for Kittens - Sleipnir Syndication
SITEINFOを独自に作成したい人はsiteinfo.jsのベースファイル