我喜欢衡量用户在webapp的特定页面上花费的时间.首先我想到在浏览器中捕获onunload / onbeforeunload事件,并通过
XMLHttpRequest通知用户现在离开的服务器:
<body onunload="userLeaves('/url/to/current/page',xxx);" ...> ... </body>
其中xxx是页面呈现时的初始阶段.
不幸的是,该解决方案在所有浏览器(例如Opera)中都不起作用.所以我的第二个想法是不断地ping服务器.要计算某人必须采取最后一次ping时间的访问时间,并将其从初始时间戳中减去.但我不认为这是一个很好的解决方案,特别是当用户打开3或5个选项卡,每个选项卡每500毫秒触发事件…
你如何衡量访问时间?有人有更好的想法来获得在一个特定页面上花费的时间?
解决方法
@H_502_13@ Google Analytics(分析)这样的工具使用的方法是,访问时间是以用户在单次“访问”中打到最后一页的时间达到第一页的时间.单次访问被定义为一个用户(cookie)的一系列页面浏览,每次访问都足够接近上一个时间.我不知道那是什么限制.根据我的经验,这些类型的卸载事件的技巧等等是侵入性的,用户不喜欢它们.因此,他们对一种更为被动的方式(比如构建Cookie访问)和页面浏览数据,增加了一点点价值.