Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Mengesan Peristiwa Tutup Penyemak Imbas dengan Amanah dalam JavaScript?

Bagaimanakah Saya Boleh Mengesan Peristiwa Tutup Penyemak Imbas dengan Amanah dalam JavaScript?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-03 04:05:09842semak imbas

How Can I Reliably Detect Browser Close Events in JavaScript?

Cara Mengendalikan Peristiwa Tutup Penyemak Imbas dengan Berkesan

Mengesan peristiwa tutup penyemak imbas boleh menjadi mencabar, terutamanya dengan kaedah seperti onbeforeunload jQuery dan onunload tidak selalunya boleh dipercayai. Artikel ini menyediakan penyelesaian untuk mengesan peristiwa penutupan tetingkap, memunggah atau sebelum memuat dengan berkesan.

Penyelesaian:

Kod JavaScript berikut boleh digunakan untuk mengesan peristiwa penutupan penyemak imbas:

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;
});
});

Pelaksanaan Pilihan:

Fungsi kedua dalam kod adalah pilihan. Ia menghalang gesaan daripada dipaparkan apabila mengklik pada elemen tertentu, seperti #lnkLogOut dan .btn.

Nota:

Adalah penting untuk mengetahui bahawa gesaan tersuai mungkin tidak bekerja dalam Firefox. Rujuk [urutan ini](pautan-ke-benang) untuk mendapatkan maklumat lanjut.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengesan Peristiwa Tutup Penyemak Imbas dengan Amanah dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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