我想衡量用户在网页上花费的时间(以秒为单位,以整数为单位,以浮点数表示,以分钟为单位)。我知道有一个卸载事件,当他们离开页面时,我可以触发该事件。但是如何获得他们已经在那里度过的时间呢?
如果您使用Google Analytics(分析),他们会提供此统计信息,尽管我不确定他们是如何获得的。
如果要自己滚动,则需要将一些AJAX请求发送到服务器进行日志记录。
jQuery有一个.unload(…)方法,您可以像这样使用:
$(document).ready(function() { var start = new Date(); $(window).unload(function() { var end = new Date(); $.ajax({ url: "log.php", data: {'timeSpent': end - start}, async: false }) }); });
唯一需要注意的是,它使用了javascript的beforeunload事件,该事件不会总是有足够的时间触发这样的AJAX请求,因此,您可能会丢失大量数据。
另一种方法是使用某种“ STILL HERE”消息定期轮询服务器,该消息可以更一致地处理,但显然花费更高。