beforeunloadイベントを使ってWebページの滞在時間を調べる
var start=new Date().getTime(),end; window.addEventListener('beforeunload', function(){ end=new Date().getTime(); alert(end-start); },false);
こんな感じ。実際に使うには、アラートを表示するんじゃなくてcookieに保存したり、サーバーに送信したりすればいい。
Firefoxでは、beforeunloadをpreventDefault()で止めたときに警告表示が出る。
ちなみに、Operaのuserscriptはイベントを上書きしたり、イベント発行直前にいじくったり、変数を上書きできるからこういうスクリプトを簡単に停止することができる。すごい。