在会话期间保持计时器一致

时间:2013-05-12 20:17:50

标签: javascript jsp

我正在尝试在jsp中创建一个计时器,以便用户可以定时进行评估 但即使用户刷新页面,我也希望时间一致,因此只有在用户登录后才能调用计时功能,而刷新页面后不会重新启动。例如,如果用户遇到问题1并且时间是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>  

1 个答案:

答案 0 :(得分:0)

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

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

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