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