Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Mencegah Kehilangan Data daripada Perubahan Tidak Disimpan Apabila Menavigasi Jauh dari Halaman Web?
Pengenalan
Aplikasi web selalunya perlu melindungi daripada kehilangan data apabila pengguna menavigasi jauh atau tutup tab penyemak imbas dengan perubahan yang belum disimpan dibuat dalam borang. Artikel ini meneroka kaedah untuk memaparkan gesaan pengesahan sebelum pengguna meninggalkan halaman, memastikan mereka mempunyai peluang yang mencukupi untuk menyemak perubahan mereka.
Pendekatan JavaScript
Satu pendekatan adalah untuk gunakan acara JavaScript sebelum pemuatan. Peristiwa ini tercetus apabila pengguna menavigasi keluar atau menutup halaman. Dengan mengembalikan rentetan bukan nol dalam pengendali acara, anda boleh memaparkan pengesahan yang menggesa mesej.
window.addEventListener("beforeunload", function (e) { if (isDirty()) { // Check if the form contains unsaved changes var message = "Confirm leaving the page. Unsaved changes will be lost."; e.returnValue = message; } });
jQuery Dirty
Penyelesaian yang lebih mantap ialah menggunakan perpustakaan pihak ketiga seperti jQuery Dirty. Ia menyediakan satu set kaedah yang komprehensif untuk mengesan perubahan borang dan menghalang navigasi secara tidak sengaja dengan data yang tidak disimpan.
$("#formId").dirty({ preventLeaving: true // Display a prompt when navigating away });
Penghadan Mesej Tersuai
Adalah penting untuk ambil perhatian bahawa mesej tersuai dalam dialog pengesahan tidak disokong dalam penyemak imbas tertentu, seperti Firefox dan Chrome. Akibatnya, dialog pengesahan lalai tanpa teks tersuai boleh digunakan sebagai alternatif.
Pertimbangan Tambahan
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencegah Kehilangan Data daripada Perubahan Tidak Disimpan Apabila Menavigasi Jauh dari Halaman Web?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!