Wal*_*ker 17 php jquery analytics codeigniter
我希望跟踪用户在网站上的平均时间(与Google分析相同),以便进行内部管理.
最简单的方法是什么?
Dmy*_*sun 22
您可以通过以下方式获得时间:
如果需要,我可以编写一个示例脚本.
更新:
<!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>
Run Code Online (Sandbox Code Playgroud)
和后端脚本:
<?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);
}
Run Code Online (Sandbox Code Playgroud)
但正如我所说,它不适用于Opera浏览器
我能想到的主要方式:
当用户第一次点击页面时,您可以记录他们的IP地址,加载的页面和时间.然后,使用一些Javascript和AJAX,当他们离开页面时,您使用该unload事件发送到记录页面的AJAX处理程序以及何时离开.
除了会话之外,您还需要使用某种ID来存储页面访问.假设我打开了5个主页实例,您需要单独记录每个实例.所以,像这样:
index.php代码:2345)如果他们index.php再次访问,你会生成另一个代码,比如说36789.使用生成随机GUID的东西是最好的,因此您可以(基本上)忽略相同IP /页面/代码组合上的任何冲突可能性.
| 归档时间: |
|
| 查看次数: |
14610 次 |
| 最近记录: |