JavaScriptでフォーカスが当たっている要素を取得する方法

Firefox & GoogleChrome 用の greasemonkey「Add Tab Index for Google」をバージョンアップしました。

Add Tab Index for Googleとは?

Googleの検索結果ページを3倍ぐらい使いやすくするためのgreasemonkeyです。
[1]検索結果の最初にフォーカスが当たる (Enterキーを叩くだけで検索結果の一番目が開ける!)
[2]検索結果のタイトルにタブインデックスを追加する (Tabキーを押して検索結果を移動できる!)


Ver1.3の変化点

  • 画面下部のテキストボックスにフォーカスが当たらない不具合を修正
  • (Firefoxのみ)マウスでどこかをクリックしたときに、その近辺から自然な順序でタブの移動ができるようにした

ダウンロードは こちら(Add Tab Index for Google) からどうぞ!


今回から、Selenium IDEによるテストを行うようにしました。
現在のフォーカス位置を確認するのにちょっと苦労しましたが、
「document.activeElement」を使ってできました。

コマンド assertEval
対象 this.page().findElement('link=地平線 - Wikipedia') == this.page().getCurrentWindow().document.activeElement
true

ちなみに、「document.activeElement」はIEだけで使えるって書かれているサイトもありますが、今は Firefox でも GoogleChrome でも Safari でもOK!


それもそのはず。
これは、HTML5の新機能だそうです。
document.activeElement - Web API | MDN


・・・すごい、地味ですね(笑)