Apabila mengubah suai data pada halaman web, adalah perkara biasa untuk menghalang pengguna daripada menavigasi tanpa menyimpannya perubahan. Ini boleh dicapai menggunakan acara window.onbeforeunload.
Pelayar Warisan (IE6-8, Firefox 1-3.5)
Set window.onbeforeunload ke fungsi yang mengembalikan rentetan:
window.onbeforeunload = function() { return "Unsaved changes. Are you sure you want to leave?"; };
Alih keluar acara untuk melumpuhkannya:
window.onbeforeunload = null;
Pelayar Moden (Chrome, Firefox, dll.)
Dayakan gesaan:
window.onbeforeunload = function() { return true; };
Lumpuhkan gesaan:
window.onbeforeunload = null;
Untuk menentukan sama ada perubahan telah dibuat, gunakan rangka kerja pengesahan atau pengendali acara tersuai anda sendiri.
Contoh jQuery:
$('input').change(function() { if ($(this).val() != "") { // Enable the prompt window.onbeforeunload = function() { return true; }; } });
Khusus Penyemak Imbas Pertimbangan
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menghalang Pengguna daripada Meninggalkan Halaman Web dengan Perubahan Tidak Disimpan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!