javascript - 如何判断每个用户访问每个页面的时间?

标签 javascript web-applications web google-analytics google-analytics-api

有没有一种好方法可以知道给定用户在 Web 应用程序的给定页面上花费了多长时间,准确度约为一分钟?

我想到的一个解决方案是使用 Javascript 每分钟访问一次 Web 服务,并在数据库中跟踪访问次数。但我想知道是否有更好的方法...是否有一种方法可以通过 Google Analytics 来完成此任务?如果是这样,怎么办?

最佳答案

首先,我同意有关分析软件的评论,您绝对应该研究它们以了解这种性质的事情。

我不知道这会有多好,我绝对不相信这是最好的方法,但如果你决心要做这个客户端,你也许可以尝试这样的事情:

var start = new Date().getTime();

window.onbeforeunload = function(){
    var end = new Date().getTime();
    alert( parseInt(end - start, 10)/60000 + " minutes" );
};

这里的想法是在用户访问您的页面后保存当前时间。一旦他们离开,onbeforeunload事件应该触发并运行函数来计算他们在页面上花费的时间。我想你可以添加一个ajax调用(或其他东西)一个同步调用来节省某个地方的总时间。

EXAMPLE

注意:jsfiddle 会阻止这些事件,但您仍然可以通过打开控制台在错误日志中看到输出。打开控制台后,只需点击 Run 即可触发事件。

编辑:

请参阅下面@Ian 关于在 onbeforeunload 事件中使用 AJAX 请求的评论。

关于javascript - 如何判断每个用户访问每个页面的时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16045782/

相关文章:

javascript - Chrome 扩展中 popup.html 和 popup.js 之间的 JavaScript 函数(考虑到来自后台的消息)

c# - 滚动到底部列表框 Silverlight 时加载更多数据而不是 WP7

java - 当 Web 应用程序被多个用户使用时,普通的旧 Java 对象会发生什么情况?

javascript - Firebase云函数错误: Function returned undefined,预期的Promise或值

javascript - 切换元素不适用于 jQuery

php - 在任何浏览器中禁用后退按钮的替代方法

javascript - 从 HTML/Javascript 关闭 iPad Web 应用程序?

html - 如何将文本对象放置在页面下方 90% 的位置?

javascript - 一次性转到页面并打开那里的链接

javascript - 填充未在JavaScript中定义?