Pengenalan
Apabila membuat pengeditan teks atau perubahan lain pada halaman web dan cuba menavigasi keluar dari halaman, penyemak imbas boleh memaparkan pengesahan gesaan meminta pengguna mengesahkan navigasi mereka. Ciri ini berguna untuk menghalang pengguna daripada kehilangan perubahan yang tidak disimpan secara tidak sengaja.
Mendayakan Prompt
Untuk mendayakan gesaan pengesahan navigasi ini dalam pelayar lama (IE6-8, Firefox sebelumnya kepada versi 4), tetapkan fungsi window.onbeforeunload property rujukan:
window.onbeforeunload = function(e) { // For IE6-8 and Firefox prior to version 4 if (e) { e.returnValue = "Are you sure you want to leave?"; } // For Chrome, Safari, IE8+ and Opera 12+ return "Are you sure you want to leave?"; };
Melumpuhkan Prompt
Untuk melumpuhkan gesaan pengesahan navigasi, alih keluar rujukan fungsi dari window.onbeforeunload:
window.onbeforeunload = null;
Menyemak Perubahan Tidak Disimpan
pengesahan pengguna dicetuskan tanpa mengira sama ada terdapat perubahan yang belum disimpan pada halaman. Untuk menyemak perubahan yang tidak disimpan, anda boleh menggunakan rangka kerja pengesahan pilihan anda atau penyelesaian tersuai.
Sebagai contoh, menggunakan jQuery, anda boleh mengikat peristiwa perubahan ke medan bentuk untuk menetapkan window.onbeforeunload apabila medan mengandungi bukan -nilai kosong:
$('input').change(function() { if($(this).val() != "") { window.onbeforeunload = "Are you sure you want to leave?"; } });
Nota:
Dalam moden pelayar, memaparkan mesej pengesahan navigasi tersuai dianggap sebagai bahaya keselamatan dan telah dialih keluar. Pelayar kini hanya memaparkan mesej generik. Untuk mendayakan atau melumpuhkan gesaan navigasi dalam penyemak imbas moden, cuma tetapkan atau alih keluar window.onbeforeunload kepada rujukan fungsi tanpa nilai pulangan.
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan 'Tinggalkan Halaman?' Gesaan Pengesahan dalam Penyemak Imbas Lama?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!