Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimanakah saya boleh Melaksanakan Kod JavaScript Apabila Tetingkap Penyemak Imbas Ditutup atau Disegar Semula?

Bagaimanakah saya boleh Melaksanakan Kod JavaScript Apabila Tetingkap Penyemak Imbas Ditutup atau Disegar Semula?

Barbara Streisand
Barbara Streisandasal
2024-11-22 02:04:14529semak imbas

How do I Execute JavaScript Code When a Browser Window Closes or Refreshes?

Jalankan Kod JavaScript pada Tutup Tetingkap atau Muat Semula Halaman

Apabila pengguna menutup tetingkap penyemak imbas atau memuat semula halaman, ia selalunya wajar untuk dilaksanakan sedikit kod terakhir. Sama seperti acara onload, tetapi untuk menutup atau menyegarkan, terdapat dua pilihan utama: onbeforeunload dan onunload.

window.onbeforeunload dan window.ounload

Dua acara ini pengendali membenarkan anda menjalankan kod apabila tetingkap sama ada ditutup atau dimuatkan semula. Perbezaan utama ialah onbeforeunload menyala sebelum penyemak imbas menggesa pengguna dengan dialog pengesahan (seperti "Tinggalkan halaman?" atau "Muat Semula?"), manakala onunload menyala selepas pengguna mengesahkan tindakan itu.

Penggunaan:

Anda boleh menetapkan fungsi kepada pengendali acara ini sama ada dengan menetapkan sifat tetingkap secara langsung atau menggunakan addEventListener kaedah.

Tugasan Terus:

window.onbeforeunload = function() {
  // Do something
};
window.onunload = function() {
  // Do something
};

addEventListener Kaedah:

window.addEventListener('beforeunload', function(e) {
  // Do something
});
window.addEventListener('unload', function(e) {
  // Do something
});

Nota tentang onbeforeunload :

Biasanya, onbeforeunload digunakan untuk menghalang pengguna daripada meninggalkan halaman (cth., jika mereka mempunyai data yang belum disimpan). Walau bagaimanapun, anda boleh menghalang dialog pengesahan dengan tidak mengembalikan rentetan atau menetapkan acara.returnValue.

Pertimbangan Tambahan:

  • Iframe Deletion: Acara beforeunload tidak berfungsi jika iframe dipadamkan oleh induknya, tetapi unload dan pagehide acara berfungsi dalam kebanyakan penyemak imbas moden.
  • Pepijat Firefox: Mulai Ogos 2023, Firefox mempunyai pepijat yang menyebabkan acara pemunggahan dan pagehide tidak berfungsi untuk pemadaman iframe.

Atas ialah kandungan terperinci Bagaimanakah saya boleh Melaksanakan Kod JavaScript Apabila Tetingkap Penyemak Imbas Ditutup atau Disegar Semula?. 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