Menyekat Butang Belakang Penyemak Imbas dalam JavaScript untuk Kuiz Dalam Talian
Menghadapi isu semasa cuba menghalang pengguna daripada menavigasi kembali semasa aplikasi kuiz dalam talian? Skrip yang disediakan mungkin menghalang kefungsian pemasa peperiksaan.
Apabila pengguna memulakan peperiksaan, fail JavaScript (cdtimer.js) mencetuskan pemasa dengan tempoh yang diperoleh daripada nilai MySQL. Walau bagaimanapun, apabila melaksanakan kod nyahdaya butang belakang, pemasa tidak lagi berfungsi.
Sebab Gangguan Pemasa
Melumpuhkan butang belakang menggunakan kaedah berikut boleh bercanggah dengan pemasa:
window.history.forward(); function noBack() { window.history.forward(); }
Oleh itu, pendekatan ini tidak berkesan dalam menghalang pengguna daripada menggunakan belakang butang.
Penyelesaian Alternatif
Untuk mengurangkan isu ini, pertimbangkan untuk memberikan amaran tidak mengganggu kepada pengguna yang cuba menavigasi ke belakang:
window.onbeforeunload = function() { return "Your work will be lost."; };
Pendekatan ini memberi amaran kepada pengguna tanpa menghalang operasi pemasa peperiksaan.
Lain-lain Pertimbangan
Walaupun kaedah melumpuhkan yang disebutkan di atas tidak boleh dipercayai, halaman berikut menawarkan pendekatan tambahan yang mungkin memberikan tahap keberkesanan yang berbeza-beza:
http://www.irt.org/script/ 311.htm
Atas ialah kandungan terperinci Bagaimana Saya Boleh Menghalang Navigasi Butang Belakang Tanpa Memutuskan Pemasa Kuiz Dalam Talian Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!