ホームページ >ウェブフロントエンド >jsチュートリアル >オンライン クイズ タイマーを中断せずに、「戻る」ボタンのナビゲーションを防ぐにはどうすればよいですか?

オンライン クイズ タイマーを中断せずに、「戻る」ボタンのナビゲーションを防ぐにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-16 10:25:35411ブラウズ

How Can I Prevent Back Button Navigation Without Breaking My Online Quiz Timer?

オンライン クイズの JavaScript でブラウザの [戻る] ボタンをブロックする

オンライン クイズのアプリケーション中にユーザーが戻れないようにしようとしているときに問題が発生しましたか?提供されたスクリプトは、試験タイマーの機能を妨げる可能性があります。

ユーザーが試験を開始すると、JavaScript ファイル (cdtimer.js) が MySQL 値から派生した期間でタイマーをトリガーします。ただし、戻るボタンを無効にするコードを実装すると、タイマーは機能しなくなります。

タイマー干渉の理由

次の方法を使用して戻るボタンを無効にすると、次の方法と競合する可能性があります。タイマー:

window.history.forward();
function noBack() { window.history.forward(); }

したがって、これらのアプローチは、ユーザーが背面を使用するのを防ぐのには効果がありません。

代替解決策

この問題を軽減するには、元に戻ろうとしているユーザーに非侵入的な警告を提供することを検討してください:

window.onbeforeunload = function() { return "Your work will be lost."; };

このアプローチでは、試験タイマーを妨げることなくユーザーに警告します。

その他の考慮事項

前述の無効化方法は信頼性がありませんが、次のページでは、さまざまなレベルの効果を提供する可能性のある追加のアプローチを紹介しています。

http://www.irt.org/script/311.htm

以上がオンライン クイズ タイマーを中断せずに、「戻る」ボタンのナビゲーションを防ぐにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。