【问题标题】:How to calculate time when user active on a page?如何计算用户在页面上活动的时间?
【发布时间】:2019-03-28 10:18:49
【问题描述】:

我正在开发一个应用程序,其要求是计算用户在页面上花费的总时间。

我已将页面打开时间保存在会话变量中,并在会话到期时获取结束时间。

 Session["StartTime"] = DateTime.Now;

 protected void Session_End(object sender, EventArgs e)
 {
     Session["EndTime"] = DateTime.Now;

     //Saves in db
 }

项目要求仅计算用户打开该页面的时间,当用户最小化当前浏览器窗口时,必须排除该时间,如果用户切换到当前浏览器页面中的另一个选项卡,该时间也不记录。

如何在asp.net或jquery中检测到用户当前正在我们的项目页面上工作?

【问题讨论】:

    标签: javascript c# jquery asp.net


    【解决方案1】:

    您可以使用$(window).focus()$(window).blur() 函数,前者用于检测用户何时在网页上工作,后者用于在用户将网页置于前台时暂停javascript计时器。

    【讨论】:

      【解决方案2】:

      您可以根据自己的要求使用 Google Analytics。集成注册后您将从 Google 获得的密钥和小代码。为了您的方便,您可以参考我为您找到的以下链接:

      How to measure active time on page

      如果您遇到任何问题,请告诉我。

      【讨论】:

        【解决方案3】:

        这也可以帮助您检测页面是否处于活动状态,然后您可以计算时间。

        document.addEventListener("visibilitychange", function() {
          console.log( document.visibilityState );
        });
        

        参考:https://developer.mozilla.org/zh-TW/docs/Web/Events/visibilitychange

        【讨论】:

          【解决方案4】:

          您可以用来计算用户在页面上花费的活跃时间。如果需要,您还可以根据活动时间执行功能。

          Github:https://github.com/atlassian/browser-interaction-time 文档:https://atlassian.github.io/browser-interaction-time/

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2015-12-26
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多