javascript - 如何衡量用户的访问时间

标签 javascript web-analytics visitor-statistic

我喜欢衡量用户在我的网络应用的特定页面上花费的时间。首先,我考虑在浏览器中捕获 onunload/onbeforeunload 事件,并通过 XMLHttpRequest 通知服务器用户现在要离开,例如:

<body onunload="userLeaves('/url/to/current/page',xxx);" ...> ... </body>

其中 xxx 是页面呈现时的初始时间戳。

不幸的是,这个解决方案并不适用于所有浏览器(例如 Opera)。所以我的第二个想法是不断地 ping 服务器。要计算访问时间,必须将最后一次 ping 时间从初始时间戳中减去。但我认为这不是一个好的解决方案,尤其是当用户打开 3 或 5 个选项卡并且每个选项卡每 500 毫秒触发一次事件时......

您如何衡量访问时间?有人有更好的主意来获取在一个特定页面上花费的时间吗?

最佳答案

Google Analytics 等工具使用的方法是,访问时间的衡量标准是用户在单次“访问”中点击第一页到点击最后一页的时间。单次访问定义为一个用户 (cookie) 的一系列页面浏览,其中每次访问在时间上都非常接近上一次。但是我不知道这个限制是多少。

根据我的经验,这些带有卸载事件等的技巧几乎是侵入性的,用户不会喜欢它们。因此,与从 cookie 和页面浏览数据构建访问等更被动的方法相比,它们几乎没有增加任何值(value)。

关于javascript - 如何衡量用户的访问时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1323375/

相关文章:

javascript - 我可以在本地浏览器中打开 XSS 吗?

javascript - 来自服务器的响应未显示在 Select2 下拉列表中

google-analytics - 谷歌分析在按广告系列过滤时返回用户定义

google-analytics - 使用 Google Analytics 跟踪产品的网络界面

php - 如何跟踪时间花费

php - 如何计算网站的唯一身份访问者?

javascript - HTML5 中的文本未显示在 Canvas 上

javascript - 正则表达式 *y *m *d

portlet - Liferay 中是否有内置的网络分析工具?