[greasemonkey] 任意のページで任意の要素にフォーカスするAutoFocusを作ってみました。

任意のページで任意の要素にフォーカスするuserscrptを作りました。
http://userscripts.org/scripts/show/14940

何がうれしいの?

例えば、ログインが必要なサービスlivedoor reader, mixiなどのトップページを開いた際に
useridやメールアドレスの欄に自動でフォーカス移し、マウスを使うこと無くすぐに入力が出来ます。
通常トップページは広告など表示してあるのでログインのフォームにフォーカスが当たってるページはあまりありません。ログインページはデフォルトでフォーカスが当たってるのですが。
また、googleやyahooの検索結果のページでは1番目の検索結果にフォーカスするのでそのままenterを押すことができます。キーボード派の人向けです。

使い方

http://userscripts.org/scripts/show/14940
からダウンロードしてもらうだけです。個別のページのフォーカスポイントを設定するためにはSITEINFOに追加します。

var SITEINFO = [
    {
	url:   'http://reader.livedoor.com/',
	focus: '//div[@id="login"]/h3/a'
    }
    /* templete		
    {
        url:   '',
        focus: ''
    }
    */
];
url

対象となるサイトのurlにマッチする正規表現

focus

focusしたい要素をXPATHで指定

またSITEINFOのページも作成しました。
http://wiki.livedoor.jp/samurai20000/d/
このwikiを編集することでSITEINFOを増やすことができます。かなりSITEINFOが少ないので誰か追加してください><

感謝

このスクリプトはid:swdyhさんのautopagerize.user.jsを参考に作っています。
というかコピペしまくってます。
はじめはautopagerizeの動作原理(特にwikiからSITEINFOとってくるところ)が知りたくて
ソースを読んでたのですが、ただ読んでるだけじゃ面白くないので作ってみました。
なかなか詰まるところも多くいい勉強になりました。