ブラウザ ウィンドウがフォーカスされる (タブまたはタイトル バーがクリックされる) ときに呼び出される iFrame 内にリスナーをアタッチする方法はありますか? テストコードは次のとおりです。
test.html:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><body><iframe src="test1.html"></iframe></body></html>
test1.html:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head><script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script></head><body><script type="text/javascript">
var doc = $(window.top.document);
var win = $(window.top);
doc.ready(function(){
win.focus(function() { console.log('Focus'); });
win.blur(function() { console.log('Blur'); });
doc.mousemove(function() { console.log('Move'); });
});
</script></body></html>
test.html をヒットすると、mousemove リスナーが呼び出されますが、フォーカスとブラーは、iFrame がクリックされたりオフになったりしたときにのみ呼び出されますが、ブラウザー ウィンドウがフォーカスを取得/失ったときには呼び出されません。リスナーを doc にアタッチして、同じ結果を得ようとしました。Chrome と Firefox でテストしています。