我使用以下代码来查看用户在特定页面上停留了多长时间。我在这个脚本中使用了一个带有src属性的隐藏图像:
$timer_seconds = 1;
while(!connection_aborted()) {
echo "\n";
flush();
sleep(1);
$timer_seconds++;
}我有时发现这可能会在5-10秒内关闭!我猜是服务器的负载影响计时??
有没有什么方法可以让我说得更准确呢?
感谢所有人的帮助。
发布于 2011-01-09 07:54:40
echo和flush可能需要一些时间,所以您的循环休眠1秒+在echo和flush上花费的时间。尝试如下所示:
$begin_time = time();
$elapsed_time = 0;
while(!connection_aborted()) {
echo "\n";
flush();
sleep(1);
$elapsed_time = time() - $begin_time;
}发布于 2011-01-09 07:50:02
你可能应该使用Javascript来做这件事。例如,在文档的unload事件上从客户端请求一些东西(使用Ajax或图像请求)。
发布于 2011-01-09 08:27:13
使用jQuery,您可以进行同步ajax调用onbeforeunload (我知道它已经不再是ajax了)来告诉用户在页面上停留了多长时间。
事情的真相是,它并没有告诉你太多的东西。仅仅因为某人在一个页面上并不意味着他们正在看这个页面。仅仅因为他们看页面非常简短,并不意味着他们不喜欢它。
https://stackoverflow.com/questions/4636786
复制相似问题