#june29jp

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

2006-12-28

またしても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での実装があります!

おもしろかったら、シェアやブックマークや送金などぜひぜひお願いします。サイト運営の励みになります!

シェアや送金などお待ちしています!