在页面的一部分上花费的时间
Time spent in a part of a page
我有一个包含几个部分的页面。我正在使用以下导航菜单 jsfiddle我想计算用户阅读页面部分所花费的时间。这个想法是在激活部分更改时触发事件并设置计时器,如果计时器大于 5 秒(例如)用户正在读取一个部分,那么我发送一个 ajax 请求以节省读取给定部分所花费的时间。
TrackUserReading(function () {
var sectionName = $("nav ul#sidebar.nav li.active a").html();
url = '/Main/TrackUserReading';
data = { sectionName: sectionName, time : Timer };
var dataType = "json";
if(sectionName)
$.post(url, data, $.proxy(function (data, textStatus, jqXHR) {
}, this), dataType);
但是,如果用户停留在同一部分中并且他打开一个新选项卡,在这种情况下计时器不正确怎么办。
我的问题是,以良好的准确性计算用户花费的时间的最佳方法是什么。提前谢谢。
在chrome和Firefox中,setTimeout设置为在选项卡处于非活动状态时每秒触发一次
要检查选项卡是否处于活动状态,请从此处借用答案:
var interval_id;
$(window).focus(function() {
if (!interval_id)
interval_id = setInterval(trackUserReading, 1000);
});
$(window).blur(function() {
clearInterval(interval_id);
interval_id = 0;
});
当选项卡聚焦时,您可以执行函数,当选项卡处于非活动状态时,它会删除间隔并停止执行函数。
HTML5 Page Visibility API旨在解决这个问题,现在几乎在任何地方都得到支持。
相关文章:
- Java脚本时间添加
- Json数据包含日期和时间格式
- 获取@ResponseBody的一部分作为主干和Spring MVC控制器之间的参数
- 如何根据时间运行不同的脚本
- 用每小时的差值填充数组/列表-从下拉列表中给定两个时间值
- 在wordpress一定时间后更改自定义字段
- 更改angularjs中的日期-时间格式
- 将当前时间添加到我的页面上的特定部分
- 门户网站:当地时间有多有用
- 显示时间的脚本
- 如何在窗体打开时从javascript倒计时计时器值中节省时间
- 通过JSON&比较时间
- 在页面的一部分上花费的时间
- 作为自动化测试的一部分,监控特定的js事件以及执行它们所需的时间
- 拼接只是工作的一部分时间
- 如何每隔一段时间刷新页面的一部分
- 确定网页的一部分在浏览器中保持可见的时间
- 如何重新加载,网页的一部分,在给定的时间后
- 自动介绍最后一部分的时间字段
- 时间轴的反转会导致时间轴的一部分“消失”.下一出