我想要测量用户在我的Web应用程序的特定页面上花费的时间。首先,我考虑在浏览器中捕获onunload / onbeforeunload事件,并通过XMLHttpRequest通知服务器用户现在正在离开,如下所示:
<body onunload="userLeaves('/url/to/current/page',xxx);" ...> ... </body>
其中xxx是页面渲染初始时间戳。
不幸的是,这个解决方案并不能在所有浏览器上都起作用(例如Opera)。所以我的第二个想法是不断地对服务器进行ping。为了计算访问时间,有人必须取最后一次ping的时间,并从初始时间戳中减去它。但我认为这也不是一个好的解决办法,特别是当用户打开3或5个选项卡时,每个选项卡都会每500毫秒触发事件......
你会如何测量访问时间?有人有更好的想法来获取在一个特定页面上花费的时间吗?