1. 「ブックマークレット」をショートカットキーで呼び出したい
Firefox 4 へ移行 したことにより、Google Bookmarks を利用するためのアドオン GMarks が使えなくなった。
その代わりに本家サイトに用意されている ブックマークレット を使い、ブックマークをすることにした。
しかし、マウスでブックマークをクリックするのは面倒。 (+_+) ブックマークレットにショートカットキーを割当てたい。
追記 (2011.3.30) : Gmarks が Firefox 4 に対応してれた。
2. KeySnail でショートカットキーを割当てる
ブックマークレットは、JavaScript で記述されている。
アドオン keysnail の機能は、JavaScript に対して、ショートカットキーを割り当てることができる。あらかじめ用意されたコマンドだけでなく、 JavaScript を使ってオリジナルの関数を書き、それらを 自由なキーの組み合わせ に割り当てることが可能です。
そこで、Google Bookmarks のブックマークレットを、 keysnail を使い、ショートカットキーを割当てることにした。
KeySnail のインストールと初期設定
GitHub より keysnail をアドオンに D&D することによりインストール。
最初に起動したとき、設定ファイルを新しく作成する。
保存場所を尋ねられるので、複数の PC で設定を共有したいので、Dropbox 上を作成先に指定。
デフォルトのキーバインドは、
「とにかく Emacs」
にした。必要なければ、「キーバインドの設定なし」を選択。
キーバインドの設定
メニューより、
- ツール > KeySnail > 設定ダイアログを開く
を選択。「キーバインド」において、「追加」ボタンを押して「オリジナルのコマンド」を選ぶ。
モードを
View
にして、コマンド名を適当に付ける。
キーは Firefox でブックマークをするときの動作を上書きするために
C-d
を割当てた。
ブックマークレットをキーバインドに設定
次に、上図の「編集」ボタンを押す。
公式のGoogle ブックマークレットの JavaScript の内容は、以下の通り。
javascript:(function(){var%20a=window,b=document,c=encodeURIComponent,d=a.open('http://www.google.com/bookmarks/mark?op=edit&output=popup&bkmk='+c(b.location)+'&title='+c(b.title),'bkmk_popup','left='+((a.screenX||a.screenLeft)+10)+',top='+((a.screenY||a.screenTop)+10)+',height=420px,width=550px,resizable=1,alwaysRaised=1');a.setTimeout(function(){d.focus()},300)})();
これをキーバインドに設定するために、 一部を修正した、以下のコードを貼り付け、「変更の反映」ボタンを押して OK 。
function (ev, arg) { var a = window, b = a.content.document, c = encodeURIComponent, d = a.open( 'http://www.google.com/bookmarks/mark?op=edit&output=popup&bkmk=' + c(b.location) + '&title=' + c(b.title) , 'bkmk_popup' , 'left=' + ((a.screenX || a.screenLeft) + 10) + ',top=' + ((a.screenY || a.screenTop) + 10) + ',height=420px,width=550px,resizable=1,alwaysRaised=1'); a.setTimeout( function () { d.focus() } , 300) }
これでブックマークをしたいページで
Ctrl + d
でブックマークできるになる。
ブックマークレットの修正点について
上記ブックマークレットで修正したのは、以下の点。
URL 最初の
javascript:
を削除。
decodeURIComponent により文字列をデコード。
全体を囲っている
(function(){ ... })();
を削除。 ( cf. JavaScript の無名関数に引数を与える )
document.location
でブックマークしたいページの URL を取得できなかったので、代わりに
経由でアクセス。
3. Emacs 風にしたときの操作の注意点
検索をするとき、
- 新しくタブを開いて ( Ctrl + t ) 、
- 検索バーにフォーカスを移そうと Ctrl + K を押しても、
ロケーションバーにフォーカスが移ってしまう。
これを回避するには、現在閲覧しているページにおいて
- Ctrl + K を押し
- 検索したい単語を入力
- Alt + Enter を押す
ことにより、検索するのが効率的。
4. Adblock の設定
追記(2014/6/2): Adblock で特定のフィルタを利用していると、Google Bookmarks のウィンドウが閉じてしまう。
0コメント:
コメントを投稿