Firefox 用拡張機能「Link Status」

Link Status について

Link Status の動作の様子

マウスカーソルをリンクに合わせると、リンク先がブックマークされている場合はステータスバーに黄色の星が表示されます。

(http://mozilla.jp/firefox/features/ のスクリーンショット。 Windows 上で Link Status 1.1 と Firefox 3.5 日本語パックを使用して撮影。)

 Firefox 用拡張機能「Link Status」をインストールすると、リンクにマウスカーソルを合わせたとき、リンク先がブックマークされているかどうかや訪問済みかどうかに応じて星型のアイコンをステータスバーに表示します。ブックマークされている場合は黄色の星のアイコン、訪問済みだがブックマークしていない場合は白い星のアイコンを表示します。さらに、前回訪問した日をステータスバーに表示します。

 画像がリンクになっている場合、通常は訪問済みかどうかが区別できませんが、この拡張機能を使えばわかりやすくなります。

 Link Status は Firefox 3.5.x と 3.0.x で動きます。 Firefox 3.5 以降で使う場合、 Firefox が訪問済みリンクを通常のリンクと違うスタイルで描画するのをやめるよう設定できます。そのためには、 [アドオン] ダイアログボックスの [設定] ボタンから [訪問済みリンクのスタイル指示を無視] (Link Status 1.1 以前では [:visited リンクスタイルを無視]) を選びます。こうしておくと、ウェブサーバーがこの Firefox の機能を悪用してあなたのページ閲覧履歴を調べること (Bug 147777) を防ぐことができ、プライバシー上の危険を減らせます。詳しくは下を参照してください

 日本語と英語 (米国) に対応しています。その他の言語の Firefox 上では英語 (米国) 版が使われます。

 テーマによってはアイコンがテーマに合わない可能性があります。アイコンを変える方法は下を参照してください

ダウンロード

 Link Status は、アドオンを紹介する Mozilla の公式サイト「Add-ons for Firefox」 (addons.mozilla.org) または日本語化されたアドオンを紹介する Mozilla Japan の公式サイト「Firefox 用アドオン」からダウンロードできます。

ご意見等

 Link Status に関してご意見があるかたは、 Add-ons for Firefox (addons.mozilla.org) にレビューを投稿するか、 fcp2007@gmail.com 宛メールで教えていただけると嬉しいです。

 addons.mozilla.org にレビューを投稿していただいた場合、なるべくレビューのページから返信するように心がけるつもりです。残念ながら、自分のレビューに対して返信があったことを知らせてくれるシステムはないみたいです。一応、 Link Status のレビューのページでフィードを購読しておくと、誰かがレビューを投稿するか僕が返信を投稿したときにわかる、という方法はあります。

 addons.mozilla.org のレビューは一度投稿したら削除できないことに注意してください。新しいレビューを投稿することで、レビューの文章や評価を後から変更することはできますが、以前のレビューは誰でも読める形で残ります。

その他

ウェブブラウザーの訪問済みリンクの描画におけるプライバシー上の問題点、および Link Status でプライバシーを守る方法

Link Status の [設定] ダイアログボックス

Link Status を Firefox 3.5 以降で使う場合、訪問済みリンクの区別表示を無効にするかどうかを [アドオン] ダイアログボックスの [設定] ボタンから設定することができます。

(Windows 上で Link Status 1.1 と Firefox 3.5 日本語パックを使用して撮影。)

 Firefox 3.5 以降上で Link Status を使い、 [アドオン] ダイアログボックスの [設定] ボタンから [訪問済みリンクのスタイル指示を無視] (Link Status 1.1 以前では [:visited リンクスタイルを無視]) チェックボックスを選択すると、プライバシー上の危険を軽減することができます。

 どういう意味かを説明するには、主要なブラウザーすべてが持っている、一見何の害もなさそうな機能についての説明から始めるのが良いでしょう。説明の都合上、ここではこの機能を「訪問済みリンクの区別表示」と呼びます。

 これまでウェブブラウザーはリンク先が訪問済みかそうでないかに応じてリンクを異なる外見で表示していました。デフォルトでは通常のリンクは青い文字、訪問済みリンクは紫の文字で表示されますが、ユーザーやサイトオーナーはほかのスタイルを指定することもできます。訪問済みリンクを外見上区別することにより、ページの中の訪問済みリンクを簡単に探すことができます。

 残念ながら、サイトオーナーがこの機能を悪用すると、ユーザーが自分のサイトを訪問する前にどのページを訪問したことがあるかを探ることができるという方法がいくつか見つかっています。これはカスケーディングスタイルシート (CSS) の仕様書にも書かれていることです。検証用のデモを What the Internet knows about youBrowserSpy.dkstartpanic.com で見ることができます。なお、このうち後ろ二つのデモは JavaScript を無効にすると動かなくなりますが、訪問済みリンクの区別表示を悪用してユーザーの閲覧履歴を探る方法の中には JavaScript を使わないものもあります。

 これはウェブブラウザーの実装上のバグではなく、訪問済みリンクの区別表示という機能の今の設計では避けられない制約です。そのため、この問題は Firefox だけでなく Internet Explorer、 Safari、 Google Chrome、 Opera といった他のすべての主要なブラウザーで生じます。

 訪問済みリンクの区別表示の悪用を防ぐ努力はいろいろ行われています。訪問済みリンクの区別表示の適用範囲を制限することによって、悪用しようとするサイトオーナーの役に立たないようにしてしまう方法を提案している人もいます。この方向の成果としては例えば SafeHistory Firefox 拡張機能があります。 Firefox 3.5 以降ではもっと単純な悪用防止策が実装されており、設定によって訪問済みリンクの区別表示という機能を完全に無効にできるようになっています。リンクが訪問済みかどうかがわからないと多くの人にとってブラウザーが使いにくくなるためか、 Firefox の [設定] メニューコマンドではこの設定を選ぶことはできません。

 Link Status ではリンクが訪問済みかどうかを訪問済みリンクの区別表示以外の方法で示すことにより、この問題の解決法を提案しています。 Firefox 3.5 以降で Link Status を使い、訪問済みリンクのスタイル指示を無視する設定を選ぶと、リンクが訪問済みかどうかがステータスバーの表示でわかる一方で、サイトオーナーがユーザーの閲覧履歴を探ってくるのを防ぐことができます。

星のアイコンを変更する方法 (Link Status 1.1 以降向け)

 Link Status で使われている黄色と白の星のアイコンを見ると、世の中には絵心が皆無の人もいるという、この世の残念な真実を実感することができます。さらに、使っているテーマでブックマークを表すのに黄色と白の星以外のアイコンを使っている場合など、 Link Status のアイコンはテーマに合わない場合があります。 Link Status が使うアイコンは、 userChrome.css ファイルに設定を追加することで好きなものに変えることができます。

 どうやって変えるかという説明の前に、次の二つのことを理解しておく必要があります。

 それでも良いという人だけどうぞ。

 たぶんここを読む人はもう知っているでしょうが、 Link Status ではリンクの状態を表すために次の 2 種類のアイコンを使います。

 Link Status で使うアイコンを変更するには、まずこれらの二つのアイコンを PNG 形式など Firefox が読める形式で用意する必要があります (一方だけ変えて一方はデフォルトのままにすることは一応可能です。そういうことをしたい場合があればの話ですが)。画像の高さが高すぎると、その画像がステータスバーに表示されている間だけステータスバーの高さが高くなってしまうので、注意してください。

 次に、プロファイルディレクトリーの中の chrome ディレクトリーを開いてください。このディレクトリーには通常 userChrome-example.css というファイルがあるはずです。同じディレクトリーに userChrome.css ファイルがもうある人も、まだない人もいるでしょう。 userContent.css とか userContent-example.css という似た名前のファイルもあるかもしれませんが、これらは今の話に無関係なので間違えないようにしてください。

 次に、用意した二つの画像ファイルをこの chrome ディレクトリーにコピーしてください。

 それでは、 userChrome.css を変更します。もしこのファイルがまだない場合は、次の内容で chrome ディレクトリーに userChrome.css という名前のファイルを作ってください。

@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");

.statusbarpanel-text-linkstatus[linkstatus-state="bookmarked"] > .statusbarpanel-icon {
  list-style-image: url("bookmarked.png") !important;
}
.statusbarpanel-text-linkstatus[linkstatus-state="visited"] > .statusbarpanel-icon {
  list-style-image: url("visited.png") !important;
}

 bookmarked.png」の部分は「ブックマーク済み」アイコンの画像のファイル名に、「visited.png」の部分は「訪問済み」アイコンの画像のファイル名に、それぞれ書き換えてください。フルパス名を指定する必要はありません。

 userChrome.css ファイルが既にあった場合は、上の内容のうち最初の @namespace 規則の行を除いた部分をファイルの末尾に追加してください。 userChrome.css ファイルの先頭近くに既に @namespace 規則が含まれているはずなので。

 最後に、 Firefox を起動 (既に起動している場合はいったん終了してから起動) します。これで Link Status は指定されたアイコンを使うようになります。

 注意: アイコン画像としてリモートの URL を指定することも可能かもしれませんが、そういう指定はしないことをお勧めします。画像をダウンロードして、ローカルにあるコピーを使うようにすれば良いでしょう。

 注意: この方法は Link Status の 1.1 より前のバージョンでは使えません。

謝辞

 Firefox 3.5 で訪問済みリンクの区別表示をやめる設定を提案・実装してくれた Mozilla Corporation の David Baron さんに感謝します。これを見て、 Link Status 拡張機能の着想を得ました。

Link Status の更新の記録

2009 年 6 月 28 日公開、2009 年 12 月 12 日最終更新。著者: fcp / このサイトについて