如何跟踪用户在现场的时间
2022-08-30 19:57:18
我希望跟踪用户在网站上的平均时间(与Google分析相同的方式)以进行内部管理。
最简单的方法是什么?
我希望跟踪用户在网站上的平均时间(与Google分析相同的方式)以进行内部管理。
最简单的方法是什么?
您可以通过以下几种方式获得时间:
如果需要,我可以编写一个示例脚本。
更新:
<!DOCTYPE html>
<html>
<head>
<title>Collect time</title>
<script type="text/javascript" src="jquery-1.4.2.min.js"></script>
<script type="text/javascript">
$(function()
{
var start = null;
$(window).load(function(event) {
start = event.timeStamp;
});
$(window).unload(function(event) {
var time = event.timeStamp - start;
$.post('/collect-user-time/ajax-backend.php', {time: time});
})
});
</script>
</head>
<body>
</body>
</html>
和后端脚本:
<?php
$time = intval($_POST['time']);
if (!file_exists('data.txt')) {
file_put_contents('data.txt', $time . "\n");
} else {
file_put_contents('data.txt', $time . "\n", FILE_APPEND);
}
但正如我所说,它在Opera浏览器中不起作用
我能想到的主要方式:
当用户首次点击页面时,您可以记录他们的IP地址,加载的页面和时间。然后,使用一些 Javascript 和 AJAX,当它们离开页面时,您可以使用该事件发送到记录页面以及它们离开时的 AJAX 处理程序。unload
除了会话之外,您还需要使用某种 ID 来存储页面访问。假设我有5个主页打开的实例,你想单独记录每个实例。所以,像这样:
index.php
2345
)如果他们再次访问,您将生成另一个代码,例如。最好使用生成随机 GUID 的内容,这样您就可以(基本上)忽略同一 IP/页面/代码组合上的任何冲突可能性。index.php
36789