素人がプログラミングを勉強していたブログ

プログラミング、セキュリティ、英語、Webなどのブログ since 2008

連絡先: すかいぷ:javascripter_  か javascripter あっと tsukkun.net skypeのほうがいいです

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はイベントを上書きしたり、イベント発行直前にいじくったり、変数を上書きできるからこういうスクリプトを簡単に停止することができる。すごい。