仕込むJS
(function() {
var second = 0 ;
function countUp() {
second++ ;
}
function b() {
var img = new Image() ;
img.src = 'http://example.com/access.php?url=' + document.location + '&sec=' + second ;
}
if( window.addEventListener) {
window.addEventListener('load', function() {
setInterval(countUp, 1000) ;
}, false) ;
window.addEventListener('unload', b, false) ;
} else if(window.attachEvent) {
window.attachEvent('onload', function() {
setInterval(countUp, 1000) ;
}) ;
window.attachEvent('onunload', b) ;
} else {
window.onload = setInterval(countUp, 1000) ;
window.onunload = b() ;
}
})() ;
<?php
define('LOG_PATH', '/tmp/') ;
{
$url = $_GET['url'] ;
$sec = $_GET['sec'] ;
$filename = 'track-' . date('Y-m-d') . '.log' ;
$log = <<<EOF
[url]:${url}
[second]:${sec}
EOF;
error_log(
$log ,
3,
LOG_PATH . $filename
) ;
exit(1) ;
}
?>
落ちるログ
/tmp/track-2011-04-07.log
[url]:http://example.com/test.html [second]:21
[url]:http://example.com/test.html [second]:0
実際は、jsだと自由に書き換えられてしまうので、アクセス先のphpにてエラーチェックは必須。
実際はgoogle analystic仕込めばいいんだけどね!!