8

我正在使用即将完成的 JSP/Servlets 开发在线考试。我计划为整个考试添加计时器功能,以分钟为单位显示经过的时间。我如何使用万无一失的技术来实现这一点,因为使用 javascript 意味着用户可以关闭浏览器中的功能。对此的任何帮助将不胜感激。

4

6 回答 6

8

记录用户在服务器上开始和结束的时间。用户必须按下一个按钮来表示他们已经开始考试,这可以触发服务器标记开始时间;当提交最终答案时,服务器可以记录所用的总时间。

于 2008-11-29T09:10:48.460 回答
3

Terracotta,我们最近开发了一个用于在线考试的参考 Web 应用程序。我们还使用 Javascript 实现了一个客户端计时器,如果您想看一下,代码是开源的。

文档和现场演示的主页是http://reference.terracotta.org

最后一个版本的项目源在这里: http ://svn.terracotta.org/svn/forge/projects/exam/tags/release-1.0.1/

实际的 Javascript 计时器代码在这里。希望这是足够的指针继续下去。

于 2008-11-30T02:44:28.787 回答
2

更好的是,您可以跟踪考试开始时间并将其存储到服务器中。在客户端,您可以使用倒数计时器。如果他们禁用 javascript,它会影响客户端中运行的计时器。

于 2008-12-14T03:05:59.190 回答
1

服务器端

将经过的时间存储在用户会话中。

您的页面可以在 javascript 中显示剩余时间,人们可以弄乱 javascript,但他们没有能力弄乱您的计时逻辑,总是从服务器获取剩余时间。

当前时间 - 所有答案的开始时间等

于 2008-11-29T09:10:00.693 回答
0

您可以在用户的​​浏览器中要求使用 javascript,并使用 javascript+AJAX - 每分钟从服务器获取更新时间或确保时间同步。

于 2008-11-29T09:11:11.020 回答
0

管理计时器的更好方法是在客户端而不是服务器端。如果网络很慢会怎样?

由于您的逻辑在服务器端,因此网速不佳的人无法完成考试。您可以查看 Skill Evaluation Lab 考试软件计时器管理并像这样实现。

于 2013-05-15T08:33:58.100 回答