【问题标题】:How i get the button clicked time with Jquery?我如何使用 Jquery 获得按钮点击时间?
【发布时间】:2011-11-24 06:15:27
【问题描述】:

我想在注册页面上显示我的客户的平均注册时间(以秒为单位)。平均时间将基于使用 cookie 的最近 15 次注册。

这是我想在注册页面上使用的示例文本:

注册大约需要 3.1 秒。是的平均值 最近 15 次注册。

有什么建议吗?

【问题讨论】:

标签: jquery timing


【解决方案1】:

在客户端跟踪时间将比在服务器端跟踪时间更准确,因为在服务器端跟踪时间并不考虑带宽延迟或加载时间。如果用户的连接速度较慢、移动连接或从另一个国家/地区访问该站点,如果在服务器端严格跟踪,这可能会严重影响时间结果。

在按钮的点击事件中,只需将点击时间设置为 . . .

$('button.register').click(function(evt) {
    window.myApp.startTime = new Date().getTime(); //Milliseconds since midnight Jan 1, 1970
});

如果您通过 ajax 提交用户输入以在调用成功时进行注册,您可以设置另一个时间 (window.myApp.endTime) 与单击事件一样,然后以毫秒为单位找到 2 次的差异以获得您的精度正在寻找。

window.myApp.registrationTime = window.myApp.endTime - window.myApp.startTime

window.myApp.registrationTime 需要被发送回服务器,如前所述,只有服务器能够以您想要的方式跟踪最近的 15 次注册。

【讨论】:

    【解决方案2】:

    正如已经提到的,您不能真正使用 cookie,因为它们存储在用户的机器上,而不是服务器上。你可以做的是获取ready事件触发的时间,然后获取表单提交的时间:

    $(document).ready(function() {
        var startTime = (new Date()).getTime();
        $("#yourForm").submit(function() {
           var endTime = (new Date()).getTime(),
               totalTime = endTime - startTime;
        });
    });
    

    然后您可以将花费的时间存储在隐藏的input 中,并将其与您的表单一起提交。将时间与用户注册数据一起存储在数据库中,只需在数据库中查询最近 15 次注册的平均值即可获得您想要的数据。

    【讨论】:

      【解决方案3】:

      你确定吗? Cookie 放置在客户的计算机上,您将无法收集最近 15 次注册以向用户提供此类统计信息。

      您需要检查一个会话范围内的时间,从通过 GET 请求加载注册页面到使用 POST 请求发布注册数据。并且需要在服务器端完成。

      类似这样的:

      public partial class _Default : System.Web.UI.Page
      {
          private static DateTime registrationStart;
      
          protected void Page_Load(object sender, EventArgs e)
          {
              if (!this.IsPostBack)
              {
                  registrationStart = DateTime.Now;
              }
          }
      
          protected void Register_Click(object sender, EventArgs e)
          {
              TimeSpan registrationTimeSpan = DateTime.Now - registrationStart;
      
              this.StoreRegistrationTime(registrationTimeSpan); // store registration date to DB
          }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-10-26
        • 2013-03-24
        • 2020-06-20
        • 1970-01-01
        • 2014-11-08
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多