« ノイズキャンセル(マスク|マイク)ってないのかな? | トップページ | overflow:hiddenが設定された要素の子孫要素を最前面に表示する方法…だれか教えて! »

2008/05/11

URL→ハイパーリンク変換スクリプト(SeaHorse/Greasemonkey/ブックマークレット)

Webページ中、テキストで書かれた(リンクになっていない)URLをハイパーリンクに変換するスクリプトを作ってみました。
例えば、ココログの『みんなで解決!広場』等、本文中のURLがテキストになっているサイトで、自動的にリンクに変換されるため、URLをコピペする手間が減ります。
ありがちだし、今更感ばりばりですが。まぁ習作ということで。
いわゆるH抜きには先頭のh抜き(ttp://furyu.tea-nifty.com/のようなやつ)のみ一応対応していますが、全角とか日本語とかそういった複雑なものは未対応です。
■Greasemonkey&SeaHorse
SeaHorseの使い方については、例えばこちらとかこちら。Greasemonkeyの使い方については、例えばこちら
Operaのユーザー JavaScript ファイル(User Script)としても動作するようです(Opera 9.27で確認)。
■ブックマークレット
ブックマークレットの登録方法等はこちら→【Web】ブックマークレットのブラウザ毎の登録方法
■注意書き
  1. 例によって一切動作保証はありません。使用は自己責任で。
  2. うまく変換されないケースもありますし、ページによっては誤変換によりレイアウトが崩れる可能性もあります。
    なるべく影響を最小限に留めるように工夫はしたつもりですが。
  3. 変換されたリンクは、クリックすると別タブ(ウィンドウ)にて開きます。
    これが嫌な場合は、ソース中の
    var linkTarget='_blank';
    の'_blank'を'_self'に変更してください。
  4. 変換されたリンクにはtitle="*** converted ***"をつけています(マウスオーバすると表示されます)。
  5. 変換されたリンクから当該サイトへと飛んだ場合にも、当然ながら相手サーバにリファラ(REFERER)が通知されますのでご留意願います。
  6. はてなダイアリーだと、キーワードリンクが外れてしまいます。
    URLテキスト中にキーワードリンクが割込んだ場合の対策。まぁ、これだけ対処しても意味はあんまり無いですが。Google検索の強調表示とか、いろいろあるし。
    これが嫌な場合は、ソース中の
    var delKeywordLink=true; // for Hatena::Diary
    のtrueをfalseに変更してください。
  7. 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が設定された要素の子孫要素を最前面に表示する方法…だれか教えて! »

コメント

958氏のTextLink風ってのもあるよ(はぁと)
ttp://w5.abcoroti.com/~suec/script/#TextLink

ぷにら♪ さん、はじめまして。
情報有り難うございます。

| 958氏のTextLink風
おお、すばらしい。さすがは958さんですね。
#機能もさることながら、JavaScriptオフでもイベントが拾えるのか…また参考にさせてもらおうφ(..)メモメモ。

コメントを書く

(ウェブ上には掲載しません)

トラックバック

« ノイズキャンセル(マスク|マイク)ってないのかな? | トップページ | overflow:hiddenが設定された要素の子孫要素を最前面に表示する方法…だれか教えて! »

戻るリンク追加

カレンダー

2025年1月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

ココログカレンダーPlus(旧2)

検索


    • Web全体 サイト内
    • 蔵書のISBNを入力して下さい
    • はじめる前
      初級者向け
      上級者向け
      ブログ紹介
      結果を表示

コメントリストツリー化

無料ブログはココログ