Home > XUL Apps > Text Link

Text Link テキストリンク Ver.6.0.1 for Mozilla Firefox

An English version of this page is also available.

宣伝1。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。 以下の特設サイトにて、単行本まんがでわかるLinux シス管系女子の試し読みが可能! シス管系女子って何!? - 「シス管系女子」特設サイト

宣伝2。Firefox Hacks Rebooted発売中。本書の1/3を使って、再起動不要なアドオンの作り方のテクニックや非同期処理の効率のいい書き方などを解説しています。既刊のFirefox 3 Hacks拡張機能開発チュートリアルと併せてどうぞ。

Firefox Hacks Rebooted ―Mozillaテクノロジ徹底活用テクニック
浅井 智也 池田 譲治 小山田 昌史 五味渕 大賀 下田 洋志 寺田 真 松澤 太郎
オライリージャパン

What's this? これは何?

ページ中に書かれたURI文字列を、ダブルクリックするだけでリンクのように開けるようにします。

「http://piro.sakura.ne.jp/」といった風に、リンクされていないURI文字列に遭遇した場合、この拡張機能無しにこのURIを読み込むには以下の操作が必要です。

  1. URI文字列を完全に選択する。(プロポーショナルフォントで表示されている時、これは結構大変だったりする……鈍くさい僕はこれでいつもキレそうになります)
  2. コピーする。(Ctrl-Cか、「編集」メニューの「コピー」)
  3. ロケーションバーに貼り付ける。
  4. 「Enter」キーを押す。すると、Firefoxがそれを読み込む。

あるいは、

  1. URI文字列を完全に選択する。(またキレるっちゅーねん!)
  2. 選択された文字列をタブバーまでドラッグ&ドロップする。すると、Firefoxがそれを読み込む。

この拡張機能をインストールすると、以下の1ステップだけでURI文字列を読み込めるようになります。

  1. URI文字列の上でダブルクリックする。すると、Firefoxがそれを読み込む。

Linkificationもこれに似た働きをします。Linkificationと比較してのText Linkの利点は以下の通りです。

  • 「http://www.<em>mozilla</em>.org/」といった風に、複数のテキストノードに分割されたURI文字列も読み込める。
  • 某新聞社サイトのように全角文字でURIを書いている場合にも読み込める。
  • Webページの内容を改編しないので、ページの美観を損ねない。

テストケースを見てみてください。Text Linkはこれらの例を全て正確に読み込める……はずです。多分。

Download ダウンロード

不具合に遭遇した場合は、まずよくある質問をご覧下さい。それでも解決方法が見つからない場合の障害報告はGitHubのイシュートラッカーにお願いします。

同梱している言語パックについて

Ver.5.0.xは以下の言語パックを内蔵しています。

  • 英語 (en-US)
  • 日本語 (ja-JP)
  • フランス語 (fr-FR, by menet & BlackJack)
  • スロバキア語 (sk-SK, by Gianny111)
  • 中国語 (zh-CN, by Carlos Oliveira)
  • 台湾中国語 (zh-TW, by Alan CHENG)
  • イタリア語 (it-IT, by Marco C.)
  • ハンガリー語 (hu-HU, by Mikes Kaszmán István)
  • トルコ語 (tr-TR, by Anıl Yıldız)
  • ドイツ語 (de-DE, by Michael Baer)

旧版

Screenshots スクリーンショット

選択範囲のコンテキストメニューの様子。 大雑把に選択するだけで、その中にあるURI文字列を自動的に抽出します。

Thunderbird上での動作の様子。 Thunderbird本体の自動リンク機能だと誤判定が多いですが、テキストリンク 5.0.x導入後は、より正確にURI部分を認識するようになります。

設定パネルのスクリーンショットです。 この拡張機能は、ダブルクリックされたURIをリンクとして開くモードと、ダブルクリックされたURIを場所ツールバーへの入力として開くモードの、二つの動作モードを持っています。好みに合わせて選んでください。 全角英数文字を含むURI文字列や相対パスを解釈するようにもできます。ただし、誤爆が増えるので注意してください。

Documents 関連文書

テキストリンクの紹介
Mozilla.Party.jp 5.0のXULコンテスト用に作成した資料です。

Testcases テストケース

インストールした後で効果を試せるように、テストケースを用意してみました。

Mozilla(http://www.mozilla.org/)はNetscape(http://www.netscape.com/)の次世代ブラウザ開発計画としてスタートしました。詳しくはhttp://jt.mozilla.gr.jp/src-faq.html#1をご覧下さい。MozillaはNetscape Communicator 5.0になる予定でしたが、NGLayoutという全く新しいレイアウトエンジンttp://jt.mozilla.gr.jp/newlayout/gecko.htmlを採用するという方針転換を行ったために開発が遅れてしまい、Netscape 6 ttp://ftp.netscape.com/pub/netscape6/がリリースされたのは計画スタートから2年も経ってからのことでした。そして今ではMozilla Corporation(h++p://www.mozilla.com/)の名の下でFirefox(h**p://www.mozilla.com/firefox/)がリリースされています。

部分的な強調などでテキストノードが分割されている場合でも、正しく処理できるようになりました。Mozilla(http://www.mozilla.org/)はNetscape(http://www.netscape.com/)の次世代ブラウザ開発計画としてスタートしました。詳しくはhttp://jt.mozilla.gr.jp/src-faq.html#1をご覧下さい。MozillaはNetscape Communicator 5.0になる予定でしたが、NGLayoutという全く新しいレイアウトエンジンttp://jt.mozilla.gr.jp/newlayout/gecko.htmlを採用するという方針転換を行ったために開発が遅れてしまい、Netscape 6 ttp://ftp.netscape.com/pub/netscape6/がリリースされたのは計画スタートから2年も経ってからのことでした。

この段落の内容は、相対パスの解釈を有効にしていないと辿れません。Firefox www.mozilla.org/products/firefox/は、高い拡張性が特徴のブラウザです。update.mozilla.orgから多数の拡張(プラグインのようなもの)を入手できます。このサイトでもいくつか拡張を公開しています。タブブラウザ拡張./tabextensions/index.htmlやPopupALT _popupalt.htmlもその一つです(←のようなファイル名だけの相対パスは、誤認識の方が多そうなので、Text Linkは反応しません)。親ページ../xul/xul.htmlから他の拡張も探せます。

この段落の内容は、全角英数文字の解釈を有効にしていないと辿れません。このサイトのトップページは http://piro.sakura.ne.jp/ です。旧URIは「http://white.sakura.ne.jp/~piro/」ですが、「ttp://www98.sakura.ne.jp/~piro/」でもアクセスすることができました。全角文字のURIと全角括弧とが隣接している場合、クリック位置を厳密に検出するモードではURIを読み込むことができない場合があります。

History 更新履歴

6.0.1 (2017.11.4)
  • 選択範囲からURI文字列を検出する処理を高速化(必要が生じるまでは実際のRangeを検索しないようにした)
6.0.0 (2017.11.3)
  • WebExtensionsベースで作り直した
  • Thunderbirdへの対応を終了
5.0.2016031501
  • Nightly 48.0a1対応
  • 設定を専用の名前空間の下で管理するようにした
  • 「〜をタブで開く」が即座に実行された場合でもすべての処理対象URIを正しく開くように修正
  • plロケール更新 (by Piotr Drąg, thanks!)
  • 選択範囲にURIが存在しない場合に、コンテキストメニューの項目を正しく無効化するように修正
  • コンテキストメニュー内の無効化されたメニュー項目に対してツールチップを表示しないようにした
5.0.2015060501
  • マルチプロセスモード(E10S)に対応
  • hy-AM(アルメニア語)ロケールを追加(by Hrant Ohanyan. Thanks!)
4.1.2013040601
  • 選択範囲を自動的に広げる処理が期待通りに動かない場合があったのを修正
  • jarファイルを含めない形のパッケージングに変更
4.1.2012122901
  • Nightly 20.0a1に対応
  • Firefox 9およびそれ以前のバージョンへの対応を終了
  • コンテキストメニューを開いた時に、選択範囲の中に含まれるURIを少しずつ検索するようにした(これにより、メニューを開くときにフリーズしてしまうということがなくなった)
  • ポート番号を含むURIもURIとして認識するようにした
  • 1つのURI文字列だけを選択していたときに、正しく現在のタブに読み込むようにした
  • いくつかのエッジケースで選択範囲からのURIの認識に失敗していたのを修正
4.0.2011021601
  • ユーザが設定を変更していた場合に設定の移行に失敗していたのを修正
4.0.2011021301
  • IDNの解釈を有効にするスキームを明示的に指定できるようにした
  • 初期状態でdata: URIを検出するようにした
  • 「ユーザ名:パスワード@ドメイン名」形式のURLを受け付けなくなっていたのを修正
  • about: URIやchrome: URLなどの、妥当なTLDを含まないURIを検出できなくなっていたのを修正
  • テキスト入力欄の中でコンテキストメニューの項目が表示されなくなっていたのを修正
  • テキスト入力欄を含む選択範囲からのURI文字列の検索に失敗していたのを修正
4.0.2011020501
  • Minefieldで選択範囲のURIをまとめてタブで開く機能が動作しなくなっていたのを修正
4.0.2011012101
  • Minefield 4.0b10pre対応
  • Firefox 3.0以前への対応を終了
  • Thunderbird 3.1対応
  • Thunderbird 2以前への対応を終了
  • IDN(国際化ドメイン)を認識できるようにした
  • ページ内で何も選択していない時は、コンテキストメニューを開く時に何も処理を行わないようにした
  • ドイツ語ロケール追加(by Michael Baer)
3.1.2009110201
  • 内部に保持しているTLDのリストを更新
  • Enterキー以外のキー入力を無視するようにした
  • より安全なコードに修正
  • フランス語ロケール更新 (by menet)
  • トルコ語ロケール更新 (by Anıl Yıldız)
3.1.2009032701
  • URI文字列の後の開き括弧がURIの一部として認識されてしまっていたのを修正
  • ThunderbirdがURIであると誤判定した箇所を通常のテキストに戻す処理について、見落としてしまうケースがいくつかあったのを修正
3.1.2009032601
  • Thunderbirdでも利用できるようにした
  • 「URL:http://……」と言った形で書かれたURIを正しく認識できない問題を修正
  • zh-TWロケール更新(by Alan CHENG)
3.0.2009031801
  • 処理を高速化
3.0.2009031701
  • Firefox 3で処理を高速化
  • ツールチップが消えた後もツールチップの内容の更新が続いていたのを、処理を停止するようにした
  • 連続するインライン要素以外はテキストの切れ目として認識するようにした
3.0.2009030901
  • Firefox 2で正しく動作しなくなっていたのを修正
  • プレーンテキストでクリック位置からURIを検出できなくなっていたのを修正
  • コンテキストメニューの初期化にかかる時間を短縮した(正確さを犠牲にして処理速度を向上した)
3.0.2009022402
  • ページの長さに比例して処理速度が大幅に低下してしまっていたのを修正
  • 選択範囲外のURI文字列がヒットする可能性があったのを修正
3.0.2009022401
  • テキストファイルでクリック位置の前後のテキストの検出に失敗していたのを修正(単一のテキストノードの場合、検索範囲がテキストノードの前に設定されていなかった)
  • 非表示のテキストを含むページで、選択した位置のURIを正しく認識できない場合があったのを修正
  • 全角文字で書かれたURIについて、\u301c(波ダッシュ)と\uff5e(全角チルダ)の両方とも「~」として受け付けるようにした
3.0.2009021901
  • www.やftp.で始まるドメイン名の補完ルールの初期設定を修正
  • トルコ語ロケール更新 (by Anıl Yıldız)
3.0.2009021801
  • テキストノードが細かく分割されている場所で処理に時間がかかっていたのを修正
3.0.2009021601
  • 選択範囲のURIを開く機能をテキスト入力欄の中でも使えるようにした
  • GMailのメール編集画面でコンテキストメニューを開こうとするとフリーズする問題を修正(URI文字列の検索の際に、head要素、script要素などの内容は除外するようにした)
3.0.2009021502
  • URI文字列の後に強制改行と英数字文字列が連続している時に、改行以後の英数字文字列がURIの一部として認識されてしまっていたのを修正
  • 相対パスの解釈が無効な時は、ドメイン名などの前に書かれた文字のうち、URI文字列の先頭に登場し得ない文字を無視するようにした
  • フランス語ロケール更新 (by menet)
3.0.2009021401
  • 選択範囲のURI文字列をまとめてクリップボードにコピーする機能を追加
  • クリックした位置のURI文字列をクリップボードにコピーする機能を追加
  • Firefox 3以降の複数に分割された選択範囲に対応
  • コンテキストメニューの項目の上で、選択されている全てのURIをツールチップで表示するようにした
  • クリック位置のURI文字列を選択する処理について、前後の括弧などを除外するようにした
2.1.2009021301
  • Firefox 2より前のバージョンへの対応を終了
  • 設定ダイアログをFirefox向けに全面的に書き直した
2.0.2008052801
  • アクションに対する機能の割り当てを初期状態にすぐに戻せるようにした
  • コンテキストメニューの機能が動かなくなっていたのを修正
  • フランス語ロケール更新 (by BlackJack)
  • トルコ語ロケール追加 (by Anıl Yıldız)
2.0.2008052701
  • ハンガリー語ロケール追加 (by Mikes Kaszmán István)
  • フランス語ロケール更新 (by menet)
2.0.2008052601
  • スキーマ部分を省略したURIの読み込みに失敗する場合があったのを修正
  • 選択範囲のURI文字列を開く際、重複分は開かないようにした
2.0.2008050601
  • 台湾中国語ロケール更新
2.0.2008042801
  • 古いFirefox用のコードを一部削除
2.0.2007111301
  • イタリア語ロケール更新
2.0.2007111201
  • イタリア語ロケールのDTDエラーを修正
2.0.2007111103
  • イタリア語ロケールが正しく認識されていなかったのを修正
  • アドオンマネージャ用のアイコンを追加(元デザイン:Marco C.)
2.0.2007111102
  • イタリア語ロケール追加(by Marco C.)
2.0.2007111101
  • 複数のアクションを設定できるようにした
  • Minefield対応
1.3.2007110501
  • 台湾中国語ロケール追加(by Alan CHENG)
1.3.2007103002
  • GMailやGoogle Docsなどのリッチテキストエリアに対しては反応しないようにした
1.3.2007103001
  • 中国語ロケール追加(by Carlos Oliveira)
1.3.2007102201
1.3.2006100702
  • Firefox 2.0 の大量のタブを開く前の警告に対応
1.3.2006100701
  • Firefox 2.0 のタブのオーナー機能に対応
1.3.20060328
  • フランス語の言語パックを修正(by menet)
1.3.2006032701
  • URI文字列を選択するのみの「選択モード」を加えた
  • URI文字列を選択する時、前後の余計な文字列まで選択されたままになってしまうことがあったのを修正
1.3.2006032601
  • Find As You TypeでURI文字列の一部が選択された状態やキャレットブラウズモードでURI文字列の中にカーソルがある場合において、EnterキーでURI文字列を読み込めるようにした
  • 相対パスの解釈を有効にしているとき、コンテキストメニューの項目の初期化に失敗することがあったのを修正
1.3.2006031401
  • 選択範囲のURI文字列をコンテキストメニューから開く場合、部分選択されたURIも常に含めるようにした
  • 相対パスの解釈を有効にしているとき、スペースを空けてURI文字列の前に書かれた語句までURIの一部と見なすことがあった問題を修正
  • フランス語の言語パックを同梱した(made by menet)
1.3.2006031301
  • 動作モードの設定を正しく保存・読み込みできなくなっていたのを修正
  • 相対パスと全角文字の解釈を同時に有効にするとURIの検出に失敗することがあったのを修正
  • タブを開く設定の時、常に全面のタブで開かれていたのを修正
1.3.2006031201
  • 補完するパターンにワイルドカード(*、?)を使えるようにした(パターンを書き換えている場合、「初期値に戻す」ボタンをクリックしてください)
  • スキーマを省略されて「www」などから始まるURI文字列も補完できるようにした(パターンを書き換えている場合、「初期値に戻す」ボタンをクリックしてください)
  • 括弧を含むURIの認識精度を少し改善
  • 全角文字を半角文字に置換する処理のアルゴリズムを高速化した(based on implementation written by Taken
  • 設定パネルの構成を変更
  • デフォルトの設定を変更
1.3.2006031001
  • 英語の言語パックのミスを修正
  • 複数のURI文字列を選択したときのコンテキストメニュー項目のラベルがおかしくなっていたのを修正
  • 「h**p」「h++p」などの形でエスケープ(?)されたURI文字列も解釈できるようにした
  • 解釈するスキーマなどの設定を、カンマ以外の文字でも区切れるようにした
1.3.2006030901
  • 単純なダブルクリックだけではなく、Ctrlキーなどとの組み合わせもトリガーとして設定できるようにした
  • 新しいタブをフォアグラウンドで開くかバックグラウンドで開くかに関する設定の実装方法を変えた
  • 長いページでコンテキストメニューの展開やクリック位置の検出に時間がかかる問題を修正
  • 隠し設定でURI検索範囲の大きさを指定できるようにした(textlink.findrangesize)
1.3.2006022101
  • 右クリック時のコンテキストメニューの内容を少し変更
1.3.2005121301
  • クリック位置の検出を緩く判定するようにすると、却って判定が厳しくなってしまっていたのを修正
1.3.2005070402
  • クリックしたURI文字列を読み込めない問題を修正
  • ダブルクリックでURI文字列をタブで開いたときに、URI文字列を選択するようにした
1.3.2005070401
  • クリックしたURI文字列を読み込めないケースがあったのを修正
1.3.2005062901
  • 一部のページでクリックしたURI文字列を読み込めないことがあったのを修正
1.3.2005062801
  • XUL/Migemoを参考に、URI文字列が複数のノードに分割されていても一続きのURI文字列として認識できるようにした
1.2.2005041901
  • よりセキュアな方法で内容領域へアクセスするようにした
1.2.2005021001
  • URI文字列の検出処理を改善した
1.2.2005020901
  • 選択範囲に含まれるURI文字列を一気に開く機能を加えた
1.1.2005012901
  • 最新のMozillaでブラウザのChrome URLを取得できない問題を修正
1.1.2004121601
  • 初期化処理・終了処理が正しく行われないことがある問題を修正
  • Movable Type 3.0の管理画面などにおいて処理に失敗する可能性があったのを修正
1.1.2004090301
  • 設定パネルを作り直した
  • 全角英数文字も解釈できるようにした
1.0.2004083102
  • 相対パスの検索・解決方法を改善したつもり
1.0.2004083101
  • 括弧やピリオドなど、URL先頭・末尾の特定の文字を無視するようにした
1.0.2004080701
  • スキーマの補完テーブルの最初の項目しか適用されない問題を修正
1.0.2004080201
  • 相対パスの解釈とスキーマの補完を別々に設定できるようにした
1.0.2004041101
  • URI文字列の検索処理を少し改善
1.0.2004021703
  • リファラのブロック機能のチェックボックスの状態が保存されない問題を修正
1.0.2004021702
  • リファラのブロック機能が働いていなかったのを修正
1.0.2004021701
  • 公開
Last modified:2017/11/09 19:50:42