Hatena::Groupjavascript

JavaScriptで遊ぶよ

 | 

2009-01-12

Safariだとブックマークレット実行後にドキュメント内をクリックしないとキーイベントを拾ってくれないんだね

05:06

Safari 3.2.1, Mac OS X Leopard

javascript:(function(){
window.addEventListener('keydown',function(e){
  alert(e.keyCode);
  window.removeEventListener('keydown',arguments.callee,false);
},false);
})()

これをアドレス欄から実行後、

  1. 何かキーを押す→何も起こらない。
  2. ドキュメント内をクリックしてから、何かキーを押す→アラートが出る。

keydownではなくmouseoverとかなら大丈夫。

他にも、ブックマークレットを実行してアドレス欄がwindow.locationではなくjavascript:スキームのURLになっている状態でリロードすると、ドキュメントのリロードではなくブックマークレットの再実行になる。

めんどくさい。


これは Safari じゃ使えないみたい。

トラックバック - http://javascript.g.hatena.ne.jp/edvakf/20090112
 |