2008年11月08日(土)

« 【JavaScript】IE7でリンクオブジェクトのhrefが参照出来なくなるケース有り | トップページ | スクリプトバージョンアップのお知らせ(脚注展開表示/Yin and Yang/ReadMore) »

ReadMore:『続きを読む』をその場で読むSeaHorse/Greasemonkeyスクリプト

あちこちのブログをつまみ読みしているとき、「続きを読む」リンクが出てくるとページ遷移しちゃうのが煩わしいなぁ……と前から思っていたので、これをその場で表示するSeaHorseスクリプトを試作してみました。
SeaHorseなので当然ながらSleipnir専用です。
それ程複雑なことはやっていないと思いますので、Greasemonkeyに慣れた方なら移植も容易かと……ちなみに私は慣れてないのでできません(w。

【2008/11/08】Greasemonkeyとしても動作するようにしてみました(ver.0.02~)。
【2008/11/16】LDRizeにショートカットキーを追加出来るようにしてみました(ver.0.03~)。
■SeaHorse/Greasemonkeyスクリプト
ReadMore:『続きを読む』をその場で表示
ReadMore Extension for LDRize :LDRizeにキーバインド追加
SeaHorseの使い方については、例えばこちらとかこちらを参照。
Greasemonkeyについては、例えばこちらを参照。
■動作画面

Readmoresample1

適当な『続きを読む』リンクにマウスカーソルを重ねると……

Readmoresample2_2

のように、続きがその場で展開されます(LDRizeキー:[m])。
このとき、続き部分の前後には v[*n]/^[*n] のようなスイッチが表示され、
  1. スイッチ上でマウスホイール→続き部分の一番下/一番上に移動(LDRizeキー:[b]/[t])
  2. スイッチをクリック→続き部分を閉じる(LDRizeキー:[m]。開く/閉じるはトグル。)
という動作をサポートしています。
【2008/11/16】LDRizeキーはLDRizeとReadMore Extensionを使用した場合にのみ有効。
■対応サイトなど
ココログ、および、はてなダイアリーについては、自サイトを含むいくつかのサイトで動作を確認しました。
トラックバックやコメントまで表示されるのはうっとうしいと思いますが。
FC2ブログやライブドアブログなんかでもサイトによっては動作することもあるかもしれません。
■注意書き
  • 例によって、一切の保証はありません。ご使用は自己責任にて。
  • サイトによっては全く動作しなかったり、おかしな挙動を示すこともあります。悪しからずご了承願います。
以下、覚書など。
■独り言
ほんとうはAutoPagerizeのようにSITEINFOでサイト毎の設定を管理すればよいのでしょうが、面倒なのと初動を速くしたいこともあって、
  1. マウスオーバしたリンクオブジェクトのhrefに'more'(という文字列を含む)アンカー指定があるかどうかをチェック。
  2. リンク先ページを読込んで、その中に上記のアンカーが含まれるかどうかをチェック。
  3. アンカーがあれば、アンカー以降でかつ(DOMツリー上)同一階層にある要素を『続き』部分と見なして表示。
という単純な方法で実装しています。
なお、一部のブログでは、リンクのhrefにアンカー指定が無くてもリンク先ページ上には(続き表示用の)アンカーが存在する、というケースもあるみたいですので、1.の条件の代わりに、リンク文字列に適当な単語が含まれていればとりあえず 2. を試みる、ということをしています。
結果として、読込んだはいいけれど実際にはアンカーが含まれていなくて骨折り損、ということもままあります。

この記事をニフティクリップβに追加 この記事をはてなブックマークに追加 2008/11/08(土) 05:11 | | 記事の編集(管理者用)

風柳へひとこと(web拍手) 

おもいつき」カテゴリの記事

ウェブログ・ココログ関連」カテゴリの記事

パソコン・インターネット」カテゴリの記事

トラックバック

この記事のトラックバックURL:

記事との関連性が薄いものやSPAM等、管理人が不適切と見なしたトラックバックについては予告無く削除する場合が有ります。悪しからずご了承下さい。

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/161784/43044664

この記事へのトラックバック一覧です: ReadMore:『続きを読む』をその場で読むSeaHorse/Greasemonkeyスクリプト:

» 『続きを読む』をその場で読むReadMoreをLDRizeに対応 トラックバック 風柳亭 - 別館:書庫のある庵 -
ReadMoreをLDRizeに対応し、キー操作で『続きを読む』をその場で読むことが出来るようになりました。 続きを読む

受信: 2008/11/16 2:23:35

コメント

こんにちは。Sleipnirユーザーです。
脚注を表示といい、便利に使わせて頂いています。
http://pc11.2ch.net/test/read.cgi/win/1219455391/486
のGoogleにfaviconと番号を表示するスクリプトを併用した場合、
Google検索結果のページでfaviconと番号が二重に表示されてしまうようです。
そこで、
// @exclude        http://*google.*/search?*q=*
を追加することで回避してみました。
お尋ねしたいのですが、// @excludeは、
ReadMore Extension for LDRize 
のほうにも追加した方がベターなのでしょうか?
現在、ReadMoreに追加しただけで正常に動いていますが。
よろしければ教えてください。

投稿: プニ太郎 | 2008/11/22 19:12:00


プニ太郎 さん、どうもです。

ReadMore Extension for LDRize
の方は、ReadMore本体が動作していなければ動きませんので、特に@excludeに追加する必要はありません。

なお、件のスクリプトでアイコンと番号が二重に表示されてしまう件は、
ReadMore ver.0.03b
で対応しましたので、@excludeを追加しなくても誤動作しなくなるのではないかと思います。宜しければダウンロードしなおしてお試しください。
#内部でiframe要素を作っていたのが原因みたいだったので、これを外しました。

投稿: 風柳 | 2008/11/23 10:22:17


コメントを書く