Bagaimanakah Saya Boleh Menghalang Pengguna daripada Meninggalkan Halaman Tanpa Pengesahan?

Susan Sarandon
Lepaskan: 2024-11-12 20:27:02
asal
936 orang telah melayarinya

How Can I Prevent Users from Leaving a Page Without Confirmation?

JavaScript: Pengesahan Sebelum Keluar Halaman

Untuk menghalang pengguna daripada meninggalkan halaman tanpa pengesahan, banyak pembangun menggunakan acara onunload. Walau bagaimanapun, kaedah ini mempunyai had.

Cabaran dengan onunload

ounload pencetus selepas halaman mula dipunggah, menjadikannya tidak sesuai untuk mengubah hala pengguna atau menunjukkan gesaan pengesahan.

Alternatif: onbeforeunload

Gunakan onbeforeunload bukannya onunload. Peristiwa ini berlaku sebelum halaman mula dipunggah, membolehkan anda:

  • Tunjukkan mesej pengesahan
  • Batalkan pemunggahan halaman jika pengguna menolak

Melaksanakan dengan JavaScript

window.onbeforeunload = function() {
  return 'Are you sure you want to leave?';
};
Salin selepas log masuk

Menggunakan jQuery

$(window).bind('beforeunload', function() {
  return 'Are you sure you want to leave?';
});
Salin selepas log masuk

Had onbeforeunload

  • Ia sahaja memaparkan mesej pengesahan.
  • Ia tidak boleh mengubah hala pengguna jika mereka memilihnya kekal.
  • Penyemak imbas seperti Chrome mungkin menyekat makluman dalam masa sebelum dimuatkan.

Pilihan Tambahan

Untuk lebih kawalan ke atas proses pemunggahan halaman:

window.onunload = function() {
    alert('Bye.');
};
Salin selepas log masuk

Atau dengan jQuery:

$(window).unload(function() {
  alert('Bye.');
});
Salin selepas log masuk

Nota: onunload tidak boleh mengubah hala pengguna dan Chrome menyekat makluman di dalamnya.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menghalang Pengguna daripada Meninggalkan Halaman Tanpa Pengesahan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan