質問ごとに3分でタイムアウトするユーザークイズを作成しています。ユーザーが何も起こらないように、または押しても0ポイントを得るというメッセージが表示されても、ユーザーはそれを押したり、更新したりすることができないようにするにはどうすればよいですか。私はこれを行うために警告ボックスを試しましたが、警告ボックスが開くと時計が止まります。誰にどのようにこれを達成することができますか?ユーザーが押し戻すのを無効にする
答えて
戻るボタンの動作はユーザー/ブラウザによって異なります。つまり、戻るボタン自体を無効にする方法はありません。新しいウィンドウを開き、親ウィンドウからカウンタを参照するなど、いくつかの回避策があります。しかし、戻るボタン自体を無効にすることはできません。
他のところで示唆されているように、バックやリフレッシュの動作を無効にすることはできません。しかし、彼らはページを離れしようとしたときにユーザーに(たとえば、ポップアップメッセージなど)のアクションを実行できます。
<body onbeforeunload="return confirm('If you leave this page, you will receive 0 points. Stay on page?');">
をこの種の干渉は、ユーザーに迷惑ですし、使用すべきではないことに注意してください一般の観客に。しかし、権威あるクイズの文脈では、これは容認できるかもしれません。
一部のブラウザ(Operaなど)はサポートしていませんonbeforeunload.
テスト担当者が使用できるブラウザを制限する必要があります。
JavaScriptを使用せずにデータベースを使用して、時間制限を適用できます。
+-------+-----------+----------+--------+------+
|user_id|question_id|start_time|end_time|answer|
+-------+-----------+----------+--------+------+
は、あなただけの(user_id, question_id)
が一意であることを確認する必要があり、彼らは3分以上を取る場合、彼らは疑問に0を取得します。
これにより、同じ質問に複数回答えるのを止めることもできます。
にできるはずです適切な解決策のみ。クライアント側のようなものをしないでください。 – ThiefMaster
サーバー側のコードを使用しても、ユーザーがインターネットで完全に識別できない可能性があると考えてください。だから誰かが2回のログインをした場合、このユーザーはまだあなたの罠の周りにいます。 – BurninLeo
@BurninLeoあなたが言っていることは非常に真実です。ユーザーを一意に識別することは難しいですが、これはJavaScriptを使用してページをユーザーに保つことから、すべての面で大きな前進です。 –
セッションに表示されている現在の質問を保存すると、ユーザーがクリックしても、どこに質問が表示されます。
しかし、明らかに(javascript)タイマーもリセットされます。これに対処するには、同じセッションで質問を表示する際にタイムスタンプを保存し、送信時にアイデアになることを確認します。それらのアクションの結果をユーザーに知らせるために、javascript "onbeforeunload"と組み合わせてGeorge Cumminsが述べたようにします。
だから、質問ロードするとき:
$_SESSION['current_question']['id'] = $question['id'];
$_SESSION['current_question']['timestamp'] = time();
と答え提出:ユーザーは残したいときに
if((time() - $_SESSION['current_question']['timestamp']) =< 180)
{
// Decide the amount of points earned
$score = ...
}
else
{
// User took more than 3 minutes, set score to 0;
$score = 0;
}
- 1. ユーザーが終了するとNSTimerを無効にして無効にします。
- 2. キー押下を無効にする
- 3. 'shift'を押しながらテキスト選択を無効にする
- 4. 戻るボタンを無効にする
- 5. 戻るボタンを無効にする
- 6. QLPreviewControllerの長押しのジェスチャーを無効にする方法
- 7. ボタンを押したときにタブコントロールを無効にするVB.NET
- 8. 検索の長押しを無効にする
- 9. アンドロイドキーボードを押して戻るに戻る
- 10. 戻り値が無効
- 11. 無効に戻りvimの
- 12. クラシックASPでユーザーがログアウトしたときにブラウザの戻るボタンを無効にする方法
- 13. ModalPopupExtenderは、ユーザーが戻るボタンを押すとポップアップを表示します。
- 14. ボタンを押した後でUIButtonを無効にする
- 15. 反応ネイティブの戻りキータイプを有効/無効にする
- 16. 戻ってくるウェブサイトがないと「戻るボタン」を無効にする
- 17. ユーザーACLを無効にする方法
- 18. ユーザーの入力が無効
- 19. ユーザーが1回クリックした後でボタンを無効にする
- 20. 家を押してから、アプリに戻って戻るボタンを押すと、アプリケーションが終了します
- 21. jspのログアウト時にブラウザの戻るボタンを無効にする
- 22. UITextFieldのタッチ操作は無効にしますが、すべてのユーザー操作は無効にします
- 23. WPFでリッチテキストボックスの元に戻すを無効にする方法?
- 24. Python:ユーザーの入力と無効戻り値
- 25. XQuartzを無効にし、mavericksのデフォルトxサーバに戻す
- 26. mod_rewriteを無効にすると、ユーザーをカスタムエラーページにリダイレクトします。
- 27. Response.Redirect()は戻るボタンを無効にします
- 28. 新しいモデルのBackbone.syncを無効にして、ユーザーが保存ボタンを押した後でsync *を再度有効にする方法
- 29. djangoでブラウザの戻るボタンを無効にするには?
- 30. UserRegistryが無効なユーザー
をあなたははずの、彼/彼女はだ – Ibu