完成間近のJSP/サーブレットを使用したオンライン試験を開発しています。試験全体に経過時間を分単位で表示するタイマー機能を追加する予定です。javascriptを使用すると、ユーザーがブラウザの機能をオフにできることを意味するため、これを実装するための絶対確実な手法でこれを実装するにはどうすればよいですか。これに関する助けをいただければ幸いです。
6 に答える
ユーザーがサーバーで開始および終了した時間を記録します。ユーザーはボタンを押して試験を開始したことを示す必要があります。これにより、サーバーが開始時刻をスタンプするようにトリガーできます。最終回答が送信されると、サーバーはかかった合計時間を記録できます。
Terracottaでは、最近、オンライン試験用の参照 Web アプリケーションを開発しました。また、Javascript を使用してクライアント側のタイマーを実装しました。コードはオープン ソースです。
ドキュメントとライブ デモのメイン ページはhttp://reference.terracotta.orgです。
最終リリースのプロジェクト ソースは次のとおりです: http://svn.terracotta.org/svn/forge/projects/exam/tags/release-1.0.1/
実際の Javascript タイマー コードはhereです。うまくいけば、それが続行するのに十分な指針です。
より良い試験の開始時間を追跡し、サーバーに保存します.クライアント側では、カウントダウンタイマーを使用できます.JavaScriptを無効にすると、クライアントで実行されているタイマーに影響します.
サーバ側
ユーザーセッションで経過した時間を保存します。
あなたのページはjavascriptの残り時間を表示できます。人々はjavascriptをいじることができますが、タイミングロジックをいじる機能はなく、常にサーバーから残り時間を取得します。
現在の時刻-すべての回答の開始時刻など
ユーザーのブラウザーでjavascriptを要件にし、javascript + AJAXを使用できます。毎分、サーバーから更新された時刻を取得するか、時刻が同期されていることを確認してください。