Mozilla Flux

Mozilla関係の情報に特化したブログです。

ブックマークレットでお手軽拡張

ブックマークレット (Bookmarklet) とは、Webブラウザのブックマーク(お気に入り)に登録して利用する小さなプログラムのことで、JavaScriptで記述されている。ふつうのブックマークをクリックしてWebページへ移動する要領で、簡単にプログラムを実行できるため、さまざまなブックマークレットがWeb上に存在している。

かゆいところに手が届く便利さがポイント。アドオンも同じと思うかもしれない。しかし、アドオンだと広く使われることが前提になるので、どうしても多機能になりがちだ。余計なものを省いた潔さがブックマークレットにはある。また、ユーザースクリプトと違い、GreaseMonkeyのような土台となるアドオンも必要としない。

例を挙げてみよう。今見ているWebページが、はてなブックマークでどのように評価されているか知りたいとき、ブックマークレットを使えばワンクリックで可能になる。しかも、極めて初歩的なJavaScriptの記述で足りる。

例1:はてなブックマーク

javascript:void(window.open("http://b.hatena.ne.jp/entry/"+location.href));

はてなダイアリーではブックマークレットを含むリンクを直接書けないので厄介だが、まずは適当なページのリンクをブックマークツールバーにセットする。ロケーションバーのサイトアイコンをドラッグ&ドロップするのが手っ取り早い。そのリンクを右クリックして、プロパティを選択。メニュー内で名前を適当に変更し、URL欄に上の「javascript〜」の一行を上書きする。これで終了だ。ふだんブックマークツールバーを非表示にしている場合でも、ブックマークメニューから辿りやすいところにリンクが見つかるので、この位置にセットするのがおすすめ。

Webページを見ている際、このブックマークをクリックすると、対応するはてなブックマークのページが別のタブ(あるいはウィンドウ)で開く。ブックマーク数やコメントをそこでチェックできる。

もちろん、はるかに高機能なアドオンが既に存在していることは確かだ。SBMカウンタがそれである。はてなブックマークだけでなく、Deliciousやlivedoorクリップなど、さまざまなソーシャルブックマークに対応し、現在見ているWebページのブックマーク件数を表示してくれる。カウンタをクリックすると、ブックマークコメントもチェックできる。まさに至れり尽くせり。

だが、高機能すぎるがゆえに、かえって不便な点もある。表示をはてなブックマークに限定したとしても、新しいページを開くたびに件数がチェックされるため、処理が重くなるのだ。高速なPCと通信回線を備えていれば問題にならないかもしれないが、それだけの環境は現在でもそう多くないと思われる。

ならばチェックしたいページだけをチェックできるようにすればいい。用途に合わせたピンポイントの処理となれば、ブックマークレットの出番だ。というわけで例1がある。

ブックマークレットのもう一つの魅力は、ユーザーが書き換えられる点だ。アドオンの場合、不可能ではないが、いろいろ手順が必要になる。ブックマークレットなら、プロパティを開いて、URLの欄を修正するだけでいい。元がシンプルだと、書換えもたやすい。たとえば、例1を少しいじると、ページ中で選択した単語をアルクの「英辞郎 on the Web」で調べるブックマークレットに早変わりする(ただし、Firefox用)。

例2:英辞郎

javascript:void(window.open("http://eow.alc.co.jp/"+window.getSelection().toString()+"/UTF-8/"));

多種多様なアドオンが提供されている中で、ブックマークレットがなくならないのは、その小回りのきくシンプルさに魅力があるからといえよう。複雑なことをするならアドオンでいい。隙間を埋めるものとして、ブックマークレットはこれからも愛され続けるだろう。