当前位置: 首页 > 面试题库 >

如何衡量在页面上花费的时间?

汪胤
2023-03-14
问题内容

我想衡量用户在网页上花费的时间(以秒为单位,以整数为单位,以浮点数表示,以分钟为单位)。我知道有一个卸载事件,当他们离开页面时,我可以触发该事件。但是如何获得他们已经在那里度过的时间呢?


问题答案:

如果您使用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”消息定期轮询服务器,该消息可以更一致地处理,但显然花费更高。



 类似资料:
  • 问题内容: 假设我正在测试Java服务器应用程序。我知道需要多少时间才能完成测试。现在,我想知道该测试期间在GC上花费了多少。我该怎么做? 问题答案: 最简单的方法是在启动JVM时使用和选项。我认为它可以打印出垃圾收集需要多长时间。 http://www.oracle.com/technetwork/java/javase/tech/vmoptions- jsp-140102.html

  • 在分析我的代码时,我发现很大一部分时间(~5%)花在跳转指令上;特别是< code>jnbe 0x1800...。不幸的是,我不确定为什么跳转指令会花费这么多时间(比之前调用相同次数的< code>mulsd命令花费的时间百分比更高);它只是告诉处理器移动到一个特定的位置,实际上它本身并不做任何事情,对吗?我的最佳猜测是,对于这个特定的条件,分支预测失败了,这导致这个语句比我预期的要长。

  • 问题内容: 我需要获取执行时间(以毫秒为单位)。 当时接受的答案是使用newDate()。getTime()。但是,我们现在都可以同意使用标准performance.now()API更合适。因此,我正在更改对此答案的公认答案。 问题答案: 使用 performance.now(): :需要导入类 使用 console.time: (非标准) (living standard) 注意 : 传递给和方

  • 问题内容: 我希望用户看到双大括号,但是Angular会自动将其绑定。这是与该问题相反的情况,即他们不希望在加载页面时看到用于绑定的花括号。 我希望用户看到以下内容: 但是Angular会替换为值。我认为这可能有效,但是angular仍然将其替换为值: plnkr:http://plnkr.co/edit/XBJjr6uR1rMAg3Ng7DiJ 问题答案: 文档@ ngNonBindable

  • 我正在尝试训练一个模型,在我看来,与其他数据集相比,该模型花费的时间太长,因为完成一个历元需要大约1小时和20分钟。我认为问题是因为数据集没有存储在ram上,但我不确定这一点。 代码如下: 型号: 顺序模型 2个卷积层,32个神经元,激活=relu 1个卷积层,64个神经元,激活=relu 平整和致密层,激活=relu 退出0.5 具有sigmoid激活的输出层(致密) Adam optimize

  • 问题内容: 是否有可能在springframework中记录方法所花费的时间?全部]自动。我的意思是,我不想进入每种方法并编写log.debug(“ ....”); 东西。 问题答案: AOP是您在这里需要的。AOP允许您将代码添加到您的应用程序,而无需修改原始代码。Spring AOP倾向于使用 Proxy 对象来完成此任务。 代理 对象使用装饰器模式包装原始 Target 对象并添加代码。所述