キーボードショートカットでfirstfield

またしてもFirefoxのキーボードショートカット話です.こればっかり.事の発端は下記のエントリです.

検索をするときには Google を使うことが多いです。いろいろな方法で Google にアクセスすることが多いわけですが、最終的に Google のサイトに飛んで検索をすると希望のものが出てこない場合、さらにキーワードを追加したり、変更したりするわけです。そのときにちょっとしたことですが、検索フォームの中にフォーカスが持っていけるようになると便利です。

Going My Way: Google の検索フォームにフォーカスする Google Search Box AccessKey

確かにその通りですね.カーソルを検索フォームまで移動させるには,けっこうなエネルギーが必要です.キーボードショートカットでカーソル移動できたら最高です.でもこれは,Googleの検索結果のページに限定される話ではありません.マウスを窓から投げ捨てろ!ショートカットであいつに差を付けるメソッド | Queueで紹介されている拡張機能firstfieldは,まさにすべてのサイトでキーボードショートカットによるカーソル移動を目指したものです.具体的には,閲覧中のページにおいて最初に出現するテキストフォームにカーソルを合わせます.

さっそく導入してみましょう… と思いきや,現行のFirefoxには対応していないようです.install.rdfを偽装してもダメでした.仕方がないのでxpiファイルをzipにリネームして解凍し,XULのソースコードの一部をkeyconfigに割り当てました.設定には,以前のエントリで紹介した拡張機能keyconfigとfunctions for keyconfigが必要になります.

firstfield keyconfig

[code]
var doc = window.content.document;

if (!doc) return;

for (var i=0; i < doc.forms.length; i++) {
var elements = doc.forms[i].elements;

for (var j=0; j < elements.length; j++) {
if (elements[j].type == "text") {
elements[j].focus();
elements[j].select();
return;
}
}
}
[/code]

キーは本家に習って「Ctrl+;」としました(なぜか表示は「Ctrl+=」になる).この場合「大きく[文字サイズ]」のキーと競合するのでこちらをOFFにしておきます.ボクはまず使わない機能なので問題ありません.あとはFirefoxを再起動すればキーば有効になります.いくつかのサイトで動作確認を行いました.

Google


firstfield - Google

cameraLady

firstfield - cameraLady

mixi

firstfield- mixi

YouTube

firstfield - YouTube

del.icio.us

firstfield - del.icio.us

はてなダイアリー

firstfield - はてなダイアリー

ボクが確認したかぎりでは割と使えそうです.ただ,ブログのエントリページで,検索フォームよりコメントの名前欄にカーソルが移動してしまうのは難点です.もう少し工夫すればもっと良いものができそうなのですが,今日はこの辺で終わりにします.

実は当初はGreasemonkeyでこれを実現しようとしていました.「せっかくGreasemonkey本ももらったし!」と意気込んでみたものの,どうも上手くいかなくて断念しちゃいました.Greasemonkeyでの実装があれば,ぜひソースを見て勉強したいです.

追記

Focus Field - LibelablogにGreasemonkeyでの実装があります!

Comments on this entry (No comments)

XHTML: コメント中では以下のタグが使用できます

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>