Firefoxの便利なプラグインとして、これまで テキストリンク というものを使ってきました。
これは、リンクになってない文字列で書かれただけのURL(http://google.com みたいな)を ダブルクリックするなどすると開いてくれる様にしてくれるプラグインです。
このプラグインが最近不調だな、とは思ってたんですが、やはりFirefox37では動かなくなってる 様なので、動くものを探しに。
テキストリンクの現状
テキストリンク のレビューを見ると、今年に入ってからFF33でも動かない、と言ったものもありますが、 少なくとも最近FF37で動かない、と言うのは多数あるので やはり動かないんだと思います。
テキストリンクは日本の人が作ってるものなので、 例えばマルチバイト文字にURLを変更して打ってる場合なんかでも 対応してたりとかかなり気がききます。
また、よくあるttp
みたいにhttp
のh
を削ってリンク逃れ的な
書き方の物でもダブルクリックするときちんとh
を補完して開いてくれたりします。
ただ、今のところアップデートの様子もなさそうなので他を探してみます。
Linkification
Linkification: https://addons.mozilla.org/ja/firefox/addon/linkification/
恐らくテキストリンクより先に出来ている老舗的な感じのもの。
デフォルトではhttp://...
みたいなものを見つけると
それをリンク化します。
つまり、テキストリンクとは違い、見た目もリンクにしてしまう、と言うこと。
ですが、これは設定から変更できて、 全般設定の自動リンクを有効のチェックを外すと自動的にリンクにはなりません。
この場合でもテキスト表示のアドレスをダブルクリックで開くをチェックしておけば、 テキストリンクと同じようにダブルクリックで開けます。
デフォルトでは同じタブ内で開きますが、 機能のリンクを新しいタブで開くにチェックすれば ダブルクリック時にも新しいタブで開けます。 (新しいウィンドウやバックグラウンドで開くことも可能。)
また、デフォルトではttp://
的な物はリンクになりませんが、
詳細でプロトコルに,ttp:http,ttps:https
を最後に加えておくと
ttp://...
の様なものも開けるようになります1。
また、www.example.com
みたいに、www
からいきなり始まる物もhttp://
を
補完してURLとして認識してくれます。
これは詳細のサブドメインで指定されてるものです 2。
なので、ttp
なんかのアドレスでも、www
が入っていればデフォルトでも
www
以下だけでURLとして認識してくれます。
(これもテキストリンクも出来る。)
テキストリンクの作者がLinkificationとの比較に言及している所があります。
(@2006.3.12) 類似の拡張機能に”Linkification”がありますが、これと比べたときのテキストリンクの利点は以下の通りです。
- 複数のテキストノードに分割されているURIも認識できる。例:http://www.< em >mozilla< /em >.org/
- 全角文字で書かれたURIも認識できる。(某新聞社のサイト等でこの形の表記が使われているので、対応しました)
- この拡張機能はWebサイトの外観を変えません。
テキストリンク Firefox アドオン Mozilla Japan の公式アドオン紹介サイト: https://addons.mozilla.jp/firefox/details/1939
ここに書かれてる様に、複数のテキストノードに分割されてる場合、 Linkificationでは上手く認識してくれません。 (先頭から分割部分までだけを認識する。)
また、全角(multi-byte)も認識できません。
ただ、最後の外観を変える、という点では上に書いたように設定で変更することが出来ます。
一方、Linkificationの方が良い点もあって、ちょっとした
example.com
みたいなURLっぽい物があるとき、Linkificationでは
URLとして認識しませんが、テキストリンクだとURLとして認識してしまいます。
つまり.
を含むような文字列を簡単にリンクとして認識してしまうので、
割とクリックしたりしながら読むのが癖だったりすると思わず無効なリンクを
開いてしまうことがあります。
テキストリンクの設定にもLinkificationのプロトコルとかみたいな設定はあって、 この辺、開かないような設定な気がするのですが、 気を利かせてリンクっぽいものは全部開く、となっているのだと思います。 (テキストリンク のレビューでもこれに要望出してる人が昨年の9月位の時点で居たので 恐らく現時点でもこの様な状態だったと思います。)
細かい所は違いはありますが、上に書いた様に大体同じような ことは出来るようになります。
テキストリンクの作者のページに試せる文章があるのでこちらで試せます。
Linkificationを試すときは、最初 自動リンクを有効にしてリンクになるのを見て、 さらにリンクをマウスオーバーとかして表示されるURLを見て 実際どういうURLになってるか、とか見るとよく分かります。
PageExpand
追記: 2015/04/18
コメントで教えてもらったアドオン。 上記のページの1.4.7が未審査ですが最新版になります。
審査済のもの は1.3.4ですが、まあ、1.4.7の方で大丈夫だと思います。
再起動なしに使えてちょっと嬉しい。
このアドオンは色々な機能を追加してくれるのですが、 その中にハイパーリンク化という機能があって、 これでページ内のテキストリンクをハイパーリンクに変更してくれます。 (Linkificationのデフォルトみたいな動作。)
デフォルトでは一部のページだけに対して有効ですが、 以下の様にすると全て(他の設定をしてないもの)のページに対して有効になります。
設定画面を開き、 URLマッピング定義を選択、 すると検索サイトだのスレッド掲示板だのフェイスブックだの が選べる一覧があるので、一番下にある デフォルト(全て)を選択。
そうすると下に設定一覧が出てくるので、その中の ハイパーリンク化定義の部分が 定義を使用しないになってるのでコレを詳細に変更。
これでhttp://...
に加えttp://...
なんかもh
を補完してリンクにしてくれます。
(簡易の方だとttp
等は返還されません。)
ちょっと試してみたところ通常のURLは勿論、 multi-byteなものや、 途中で複数のテキストノードに分割されているURIも認識できました。
http://example.com.
みたいに文章中に書かれてて最後にピリオドがあると
ピリオドも含まれてしまう。
(Linkificationは上手く回避してくれる)
また、www.example.com
みたいなものも認識はしてくれません。
この辺をちょっと改善するために、 左のタブからハイパーリンク化へ行き、 一覧から詳細を選んで編集します。
1 2 3 4 5 6 7 8 9 |
|
こんな感じで
www.
を認識してhttp://www.
へ変換する。- 取得したURL文字列について、最後に
.
が付いてる場合はそれを除く。
という作業を追加します。
ここのコードはJavaScriptですが、 詳しく調べたい場合は下なんかを参考に。
- 正規表現 - JavaScript MDN
- String.prototype.replace() - JavaScript MDN
- JavaScriptのreplaceの引数としてfunctionを使用する - hogehoge foobar Blog Style5
これによって、最後の余計なピリオドを読み込まなくなり、
また、www.
で始まる物もリンク化してくれます。
この設定を行うと 途中で複数のテキストノードに分割されているURIなんかは その手前までしか認識しなかったり、上手く認識できなくなることがありますが、 まあ、余り変なURLの書き方してるものなんてそれ程無いし、 そういうのは気をつけましょう、ということで無くても大丈夫かと。
この設定を入れてもmulti-byteは上手く読み込めます。
この新しい定義を別途の定義にして元のを残しておくことも可能ですが、 URLマッピング設定のところではかなり色々なURLに分類されて それぞれで設定されてるので、 変更するのが面倒なので元の定義を変更しました。
また、これらの定義は簡易の方でも有効なので、 簡易の方にも同じように変更を加えています。
取り敢えずこの設定でテキストリンクを開くのは良い感じになりました。
このアドオンではリンク化
してしまうので
見た目が変わってしまいます。
その辺が嫌な場合はLinkificationにする必要があります。
一方でPageExpandにはこの ハイパーリンク化以外にも 画像リンクをたどって画像を表示させたり、 2chみたいな掲示板での拡張機能的なものなど、 結構盛りだくさんに機能がついてるので、ちょっと暫く使ってみようかな、 と思います。
追記ここまで
追記: 2015/04/18
ちょっと使ってみた感じ。
URLをリンク化してしまう弊害として、 例えばコードブロックみたいなきちんとしたフォーマット内に納まってるものまで 変更してしまうので、 この場合、見た目が少し崩れてしまう事があります。
それ程気になることは多くないと思いますが、 自分のサイトを見ててコードブロックの所が左の行番号とずれてて いつの間にかCSS設定がおかしくなってたかな? と思いましたが、このリンク化のせいでした。
ちょっとその辺心に留めておいた方が良い点です。
後、色々やってますが、手元のMacBook Proだとそれ程重さとか 気にはならないかな、と。
古いWindowsマシンでもこれを入れたことによる遅さはそれ程変わらないかと思います。 (既に大分遅い。。。)
追記ここまで
その他のもの
その他にもいくつかあったので一応チェック。
- <delText2Link: https://addons.mozilla.org/ja/firefox/addon/text2link/?src=search</del>
FF37では取り敢えず動かない(随分前から動いてない?)。
Plain Text Links :: Add-ons for Firefox: https://addons.mozilla.org/ja/firefox/addon/plain-text-links/?src=search
FF37では取り敢えず動かない(こちらはテキストリンクと同様の問題で動かなくなった?)。
これだけ再起動不要なのでちょっと便利。
ただし、きちんとしたURL(http://...
)しか上手くいかない上、括弧で囲まれてたりすると最後の)
がひっついてしまったりして上手く行かないことがある。
ということで、Linkificationに勝る物はない感じ。
まとめ
取り敢えずテキストリンクのアップデートが来るまでは Linkificationを使うことにしました。
アップデートが来た段階でマルチバイトなURLとかが必要か、
example.com
みたいな.
を含むだけの様なものは無視してくれる方が嬉しいか、
とか考えてまた選びなおしてみたいと思います。
Linkificationの方でマルチバイト対応になることは無いと思うので、 テキストリンクの方でその辺上手く設定できる様にしてくれたら嬉しいな、と。
追記: 2015/04/18
PageExpandが色々機能が入ってて便利そうなので、 暫くLinkificationに変わってPageExpandを使ってみます。
追記ここまで