意外と知らない?ブックマークレット

みなさん、こんにちは。
ブックマークレット、ご存知でしょうか。
今回は、意外と知らない?
ブックマークレットについて書きたいと思います。
fcd0bbc1f8758d81859d09a03291f918_s

○ブックマークレットとは

まず、ブックマークレットとは、
ブラウザのブックマークなどから起動し、なんらかの処理を行うプログラム(Javascript) のことです。
好きなウェブページをブックマークに登録している方は多いと思いますが、このブックマーク、実はJavascriptも登録できるのです。
そして、登録したウェブページを好きな時に閲覧できるのと同じように、
登録したプログラムも好きな時に実行できます。

○できること

Javascriptを登録して好きな時に実行できる と言われてもいまいちピンとこないかもしれませんが、
ブックマークレットは様々な使い方ができます。

・特定のページでの入力の自動化

・伏字になっているパスワードの可視化

・選択したテキストを翻訳、辞書や地図で検索

・テキストやウェブページのURLのQRコードを表示

や、
PCでは簡単にできてもモバイル端末ではできないような、

・ページ内のテキスト検索、ハイライト(*これ、実はiPhoneのsafariの機能でもできることを最近知りました。。)

・ウェブページのソースの表示

・端末内の指定した写真のファイル名やサイズの表示

・テキスト読み上げ

 など、Javascriptでできることはだいたいできます。
こんな機能があったらな、という機能ももしかしたら実現できるかもしれません。

○登録方法

方法はいくつかあります。
・ブックマークレットのリンクをブックマークに登録
ウェブページのリンクをブックマークバー(お気に入りバー)にドラッグしたり、右クリックでブックマークに登録できるのと同じように、ブックマークレットのリンクも登録することができます。
公開されている、他人が作成したブックマークレットを登録する場合に多い方法かと思います。
・ブックマークに直接記述
メニューからブックマークの新規作成を行い直接記述する方法です。
ブラウザによっては、新規作成時にURLを入力できないものもあるので、そのときは一旦適当なページでブックマークを作成したあとでURLを編集します。

ページのブックマークでは、http:// や https:// といったURLを記述しますが、
ブックマークレットでは、javascript: で始め、続けてプログラムを記述します。
例えば、
現在表示しているページのURLをアラートで表示する 機能であれば、
javascript:alert(document.location);
となります。

適当なページを開いて実行すると、URLが表示されるかと思います。
ブックマークレットでは変数宣言もできますが、このままだとグローバルになり、表示しているページに影響してしまうので、
以下のように、即時関数で囲って書くのが基本のようです。

javascript:(function(){ /*ここにスクリプトを記述*/ })();

他にも、複雑な処理を行う場合は、特殊文字のエスケープやブラウザごとの文字数制限なども気にする必要があります。

以上が、簡単にではありますが、ブックマークレットの機能や登録方法です。
ブックマークレットは使い方によっては便利な機能になります。
何か作ってみてはいかがでしょうか。

ホームページ http://www.ois-yokohama.co.jp

facebook   https://www.facebook.com/orientalinformationservice/