onbeforeunloadのIEでの挙動がちょっと面倒。
設定はbeforeunloadイベントに対して関数をバインドしておきます。(sampleはprototype.js)
Event.observe(window, 'beforeunload', function(e) {
alert("閉じた");
});
<a href="#" onclick="nannka()">なんかする</a>
だとbeforeunloadイベントが実行されないけど、
<a href="javascript:nannka()" >なんかする</a>
だとbeforeunloadイベントが実行されてしまう。(Firefoxでは実行されない)
MTの管理画面もbeforeunloadイベントが組み込まれているのでプラグインを作る際には注意が必要。
前者の書き方をすればいいだけなんだけど、他のライブラリの制約とか大人の事情が色々あるじゃないですか。

コメントする