我正在使用JSP / Servlets开发一个即将完成的在线考试。我打算为整个考试添加计时器功能,以分钟为单位显示已用时间。我如何用一种傻瓜式技术来实现这一点,因为使用javascript意味着用户可以关闭浏览器中的功能。对此的任何帮助都将受到高度赞赏。
答案 0 :(得分:8)
记录用户在服务器上启动和完成的时间。用户必须按一个按钮表示他们已经开始考试,这可以触发服务器标记开始时间;当提交最终答案时,服务器可以记录所花费的总时间。
答案 1 :(得分:3)
在Terracotta,我们最近开发了一个在线考试的参考网络应用程序。我们还使用Javascript实现了一个客户端计时器,如果你想看一下,代码是开源的。
文档和现场演示的主页是http://reference.terracotta.org
上一版本的项目源代码如下: http://svn.terracotta.org/svn/forge/projects/exam/tags/release-1.0.1/
实际的Javascript计时器代码为here。希望这是足够的指示继续下去。
答案 2 :(得分:2)
更好你跟踪考试开始时间并将其存储到服务器中。在客户端你可以使用倒计时器。如果他们禁用了javascript,它会影响在客户端运行的计时器。
答案 3 :(得分:1)
服务器端
存储用户会话中经过的时间。
你的网页可以显示javascript剩余的时间,人们可以搞乱javascript,但他们没有能力搞乱你的时间逻辑,总是从服务器上得到剩余的时间。
当前时间 - 所有答案的开始时间等
答案 4 :(得分:0)
您可以在用户的浏览器中使用javascript,并使用javascript + AJAX - 每分钟一次,从服务器获取更新时间或确保时间同步。
答案 5 :(得分:0)
管理计时器的更好方法是在客户端而不是服务器端。如果网络很慢会发生什么?
网络速度较差的人无法完成考试,因为您的逻辑是在服务器端。您可以查看技能评估实验室考试软件计时器管理并实现如下。