Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Boleh Mengesan Peristiwa Tutup Penyemak Imbas dengan Amanah dan Mengendalikan Data Tidak Disimpan?

Bagaimanakah Saya Boleh Mengesan Peristiwa Tutup Penyemak Imbas dengan Amanah dan Mengendalikan Data Tidak Disimpan?

DDD
Lepaskan: 2024-11-26 17:18:16
asal
916 orang telah melayarinya

How Can I Reliably Detect Browser Close Events and Handle Unsaved Data?

Mengesan Peristiwa Tutup Penyemak Imbas

Menghadapi kesukaran dalam mengesan peristiwa tutup penyemak imbas dengan kaedah biasa? Jangan risau, kerana panduan terperinci ini akan menyediakan penyelesaian yang komprehensif untuk membantu anda memantau penutupan tetingkap, memunggah atau sebelum memuat acara.

解决方案

Coretan kod berikut dengan bijak menangani isu:

window.onbeforeunload = function (event) {
  var message = 'Important: Please click on \'Save\' button to leave this page.';
  if (typeof event == 'undefined') {
    event = window.event;
  }
  if (event) {
    event.returnValue = message;
  }
  return message;
};

$(function () {
  $("a").not('#lnkLogOut').click(function () {
    window.onbeforeunload = null;
  });
  $(".btn").click(function () {
    window.onbeforeunload = null;
  });
});
Salin selepas log masuk

Penyelesaian ini menggabungkan pengendali acara onbeforeunload, yang dicetuskan sebelum tetingkap penyemak imbas ditutup. Pembolehubah mesej memaparkan gesaan tersuai, memaklumkan pengguna untuk menyimpan data sebelum meninggalkan halaman.

Terutamanya, fungsi tambahan disertakan untuk menghalang gesaan daripada muncul apabila mengklik elemen tertentu pada halaman (dalam kes ini, elemen #lnkLogOut dan .btn).

Keserasian Firefox Pertimbangan

Walaupun kod ini biasanya berfungsi dalam penyemak imbas lain, adalah penting untuk ambil perhatian bahawa Firefox mungkin tidak memaparkan gesaan tersuai. Dalam kes sedemikian, kaedah alternatif mungkin perlu dipertimbangkan, seperti yang dibincangkan dalam urutan yang dipautkan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengesan Peristiwa Tutup Penyemak Imbas dengan Amanah dan Mengendalikan Data Tidak Disimpan?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan