2012-01-03 16 views
3

オンライン試験システムでは、試験の経過時間と残り時間をどのように処理できますか。
最初に私は、学生が試験ページに来て、そのタイマーのすべての間隔でajaxを使ってサーバーに通知する瞬間、試験Webページにクライアントサイドタイマーを設定するためにjavascriptを使用してこの問題を解決しました。現在の生徒の試験期間を更新することができます。
好奇心を抱いている学生が試験中にブラウザでjavascriptを無効にし、送信ボタンをクリックする前に再度有効にすると、問題は明らかになります。したがって、タイマーは停止し、ブラウザはajaxリクエストをサーバーに送信できませんでした。
この問題を処理する最善の方法は何ですか?
ありがとうございます。asp.netでの作業時間の処理

答えて

3
  • とすぐ文書がにロードされているように、1つのAjaxリクエストを送信
  • (スケルトンのみを送信し、その後のAjaxリクエストによって実際の内容を充填することによって)ページが無効になってJavaScriptでレンダリングしていないことを確認しますサーバー側のタイマーをクライアント側のタイマーのバックアップ(およびプルーフ)として起動する
1

初心者の方法は、Webページにフォームパラメータとして開始時刻を含め、期間を計算することですしかし、これは興味のある生徒がDOM編集ツールを使ってこの値を変更する場合にも当てはまります。

あなたのアプリケーションには、永続性のある形式(データベースなど)が必要です。生徒が開始した時間を持続させると、その後のリクエストが来たときにこの値を使うことができます。

2

ブラウザでJavaScriptを無効にすることはできません。

ただし、用紙の開始時刻(おそらくDB)とページが送信されたとき(ユーザーが用紙の応答を終えた後)、質問用紙が表示されるまでの時間を確認できます答えた。あなたはその論文を提出するまでにどれくらいの時間がかかったのか知っています

猶予期間を+2分とし、割り当てられた時間を超えた場合は、「もう一度やり直してください!次回は!」というメッセージを表示してください。

関連する問題