0

我正在尝试在jsp中创建一个计时器,以便可以为用户计时以进行评估,但我希望即使用户刷新页面,时间也能保持一致,因此只能在用户登录后调用计时功能,而不是重新启动一次页面被刷新。例如,如果用户在第一个问题并且时间是 40 秒,当页面刷新时,例如当他移动到下一个问题时,它仍然应该继续计数 41、42、43 等。是否可以记录时间使用 javascript 或 servlet 在 jsp 中运行时并保持它的一致性,无论它是否对用户隐藏。任何光线都受到高度赞赏。我有以下内容很好,但是当我刷新时它会再次重新启动。

<script>  
 <!--  
 <%  
   String clock = request.getParameter( "clock" );  
       if( clock == null ) clock = "60";  
 %>  
      var timeout = <%=clock%>;  
      function timer()  
        {  
        if( --timeout > 0 )  
    {  
     document.forma.clock.value = timeout;  
      window.setTimeout( "timer()", 1000 );  
   }  
    else  
      {  
     document.forma.clock.value = "Time over";  
       ///disable submit-button etc  
        alert("Sorry but time is up spud muhahahaha");
       }  
     } 

    </script>  
4

1 回答 1

0

使用 JSP 中的会话对象来存储时钟的开始时间。计算与当前请求时间的差异并将其填充到您的 JS var "timeout"

如果时间结束并且用户进行了刷新(F5,后退按钮),您可以更改页面的内容。

可能每个问题都需要一个单独的计时器。

于 2013-05-13T00:01:18.253 回答