URL→ハイパーリンク変換スクリプト(SeaHorse/Greasemonkey/ブックマークレット)
Webページ中、テキストで書かれた(リンクになっていない)URLをハイパーリンクに変換するスクリプトを作ってみました。
例えば、ココログの『みんなで解決!広場』等、本文中のURLがテキストになっているサイトで、自動的にリンクに変換されるため、URLをコピペする手間が減ります。
例えば、ココログの『みんなで解決!広場』等、本文中のURLがテキストになっているサイトで、自動的にリンクに変換されるため、URLをコピペする手間が減ります。
ありがちだし、今更感ばりばりですが。まぁ習作ということで。
いわゆるH抜きには先頭のh抜き(ttp://furyu.tea-nifty.com/のようなやつ)のみ一応対応していますが、全角とか日本語とかそういった複雑なものは未対応です。
いわゆるH抜きには先頭のh抜き(ttp://furyu.tea-nifty.com/のようなやつ)のみ一応対応していますが、全角とか日本語とかそういった複雑なものは未対応です。
■Greasemonkey&SeaHorse
Operaのユーザー JavaScript ファイル(User Script)としても動作するようです(Opera
9.27で確認)。
■ブックマークレットブックマークレットの登録方法等はこちら→【Web】ブックマークレットのブラウザ毎の登録方法
■注意書き
- 例によって一切動作保証はありません。使用は自己責任で。
- うまく変換されないケースもありますし、ページによっては誤変換によりレイアウトが崩れる可能性もあります。
なるべく影響を最小限に留めるように工夫はしたつもりですが。- 変換されたリンクは、クリックすると別タブ(ウィンドウ)にて開きます。
これが嫌な場合は、ソース中のvar linkTarget='_blank';の'_blank'を'_self'に変更してください。- 変換されたリンクにはtitle="*** converted ***"をつけています(マウスオーバすると表示されます)。
- 変換されたリンクから当該サイトへと飛んだ場合にも、当然ながら相手サーバにリファラ(REFERER)が通知されますのでご留意願います。
- はてなダイアリーだと、キーワードリンクが外れてしまいます。
URLテキスト中にキーワードリンクが割込んだ場合の対策。まぁ、これだけ対処しても意味はあんまり無いですが。Google検索の強調表示とか、いろいろあるし。これが嫌な場合は、ソース中のvar delKeywordLink=true; // for Hatena::Diaryのtrueをfalseに変更してください。- SleipnirでSeaHorseスクリプトとして使用する場合を除き、スクリプト(JavaScript)オフの環境では動作しません。
■【参考】URLテキストから当該サイトに飛ぶツール等
- ちょこっと強制リンク
Sleipnirの場合は標準スクリプトとして『ちょこっと強制リンク』というのがついており、これはSeaHorseとしても使用できます。
同名のツールの移植版みたいですね。デフォルトだと"C:\Program Files\Fenrir & Co\Sleipnir\scripts\リンク処理"にある"ちょこっと強制リンク.js"を、"C:\Program Files\Fenrir & Co\Sleipnir\plugins\seahorse"下にコピーし、"ちょこっと強制リンク.user.js"にリネームすれば、SeaHourseとして動作します。
詳細は『由々識の気まぐれ日記 Sleipnir 2.6.1 test2 リリース』を参照。
ただ、SeaHorseとして自動実行させるようにしていると、ときどき誤変換をしてしまってページのレイアウトが崩れるようです。また、ちゃんと調べていませんが、innerHTMLを書換えている関係上、ページに設定されたJScriptなどが正常に動作しなくなる可能性もあるかも知れません。 - Text Link
Firefoxの場合、Text Linkという拡張機能が公開されていますので、これを使うのが便利だと思います。
URLテキストをダブルクリックするだけで、当該サイトに飛んでいくので便利だし、タグを追加するわけではないので、ページレイアウトも崩れません。
URL途中でタグが含まれているようなものもOKみたいですね。 - TextLink風(2008/05/14追記)
TextLink風は、958さんの作られた、Firefox版のText Linkと同様な機能を持つ、Sleipnir用SeaHorse+User Actionスクリプトです。
とりあえずSeaHorse版を試してみましたが、URLテキスト(の一部)をダブルクリックするだけで、適切に解釈して目的サイトをタブで開いてくれるので快適です(このとき、URLとして解釈された文字列は選択状態のまま残っているため、コピペも容易)。
JavaScriptオフでも動作してくれます。コメントにて、ぷにら♪さんに教えていただきました。
« ノイズキャンセル(マスク|マイク)ってないのかな? | トップページ | overflow:hiddenが設定された要素の子孫要素を最前面に表示する方法…だれか教えて! »
コメント
« ノイズキャンセル(マスク|マイク)ってないのかな? | トップページ | overflow:hiddenが設定された要素の子孫要素を最前面に表示する方法…だれか教えて! »
958氏のTextLink風ってのもあるよ(はぁと)
ttp://w5.abcoroti.com/~suec/script/#TextLink
投稿: ぷにら♪ | 2008/05/11 15:58
ぷにら♪ さん、はじめまして。
情報有り難うございます。
| 958氏のTextLink風
おお、すばらしい。さすがは958さんですね。
#機能もさることながら、JavaScriptオフでもイベントが拾えるのか…また参考にさせてもらおうφ(..)メモメモ。
投稿: 風柳>ぷにら♪ さん | 2008/05/11 19:55