Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Melaksanakan 'Tinggalkan Halaman?' Gesaan Pengesahan dalam Penyemak Imbas Lama?

Bagaimana untuk Melaksanakan 'Tinggalkan Halaman?' Gesaan Pengesahan dalam Penyemak Imbas Lama?

Barbara Streisand
Lepaskan: 2024-12-12 21:09:10
asal
798 orang telah melayarinya

How to Implement a

Bagaimana untuk Memaparkan "Adakah Anda Pasti Anda Mahu Mengemudi Jauh dari Halaman Ini?" Gesa dengan Perubahan Tidak Disimpan dalam Penyemak Imbas Lama

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?";
};
Salin selepas log masuk

Melumpuhkan Prompt

Untuk melumpuhkan gesaan pengesahan navigasi, alih keluar rujukan fungsi dari window.onbeforeunload:

window.onbeforeunload = null;
Salin selepas log masuk

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?";
  }
});
Salin selepas log masuk

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!

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