Javascript 如何计算并在浏览器上显示在J2EE/JSF服务器上生成的两个HTML请求之间经过的时间?

Javascript 如何计算并在浏览器上显示在J2EE/JSF服务器上生成的两个HTML请求之间经过的时间?,javascript,html,jakarta-ee,primefaces,elapsedtime,Javascript,Html,Jakarta Ee,Primefaces,Elapsedtime,自从2年多以来,我在每个HTML页面的状态栏中显示 上次操作的时间YYYY-MM-DD HH24:MI:SS 在服务器上计算的运行时间 有时,显示的运行时间很短(3秒),但用户等待的时间超过了10秒 不同之处在于显示页面所需的网络延迟和浏览器时间 我现在对显示完全延迟很感兴趣,我看到了两种可能的解决方案 解决方案1。 仅使用Javascript保存请求的开始,并在再次显示请求时计算经过的时间。开始时间必须保存在某个地方!但是在哪里呢?在饼干里 示例:当用户单击按钮时,OnClick()事件会在将

自从2年多以来,我在每个HTML页面的状态栏中显示

  • 上次操作的时间YYYY-MM-DD HH24:MI:SS
  • 在服务器上计算的运行时间
  • 有时,显示的运行时间很短(3秒),但用户等待的时间超过了10秒

    不同之处在于显示页面所需的网络延迟和浏览器时间

    我现在对显示完全延迟很感兴趣,我看到了两种可能的解决方案

    解决方案1。

    仅使用Javascript保存请求的开始,并在再次显示请求时计算经过的时间。开始时间必须保存在某个地方!但是在哪里呢?在饼干里

    示例:当用户单击按钮时,OnClick()事件会在将消息发布到J2EE服务器之前保存开始时间。J2EE服务器生成新消息并发布它。在浏览器中,Javascript截取新服务器消息并在状态栏上显示计算的运行时间

    解决方案2。

    使用JavaScript记录开始时间,并将其传输到J2EE应用程序,该应用程序在HTML页面中再次发送该时间。接收到结果消息后,Javascript必须计算经过的时间

    解决方案3。


    是否有其他解决方案可以解决此问题?

    您可以将开始时间保存到localStorage,然后每个新页面都可以撤回localStorage并计算差异。这只是另一个可能的解决方案。

    很有趣。但我有一个特殊的情况是。。。当我单击表中的一行时,单击的项目将加载到另一个Chrome选项卡上。它在同一届会议上。我必须使用本地存储还是会话存储?