Melaksanakan Kod pada Tutup Tetingkap Penyemak Imbas atau Muat Semula Halaman
Selalunya, adalah wajar untuk melakukan tindakan tertentu apabila pengguna menutup tetingkap penyemak imbas atau menyegarkan halaman web. Nasib baik, terdapat dua pengendali acara tersedia untuk menangani keperluan ini: window.onbeforeunload dan window.onunload.
window.onbeforeunload
Acara onbeforeunload dicetuskan apabila pengguna cuba meninggalkan halaman. Biasanya, ia digunakan untuk memaparkan kotak pengesahan yang meminta pengguna mengesahkan pilihan mereka atau menghalang mereka daripada meninggalkan halaman jika mereka mempunyai data yang belum disimpan. Walau bagaimanapun, dengan tidak mengembalikan rentetan atau menetapkan event.returnValue, anda boleh menghalang penyemak imbas daripada memaparkan mesej dan melaksanakan kod anda secara senyap.
window.ounload
The acara onunload dicetuskan apabila halaman dipunggah daripada penyemak imbas. Ia biasanya digunakan untuk melaksanakan tugas pembersihan seperti mengalih keluar sebarang pendengar acara yang berlarutan atau menutup sambungan pangkalan data.
Pelaksanaan
Kedua-dua onbeforeunload dan onunload boleh ditetapkan pada sifat tetingkap atau menggunakan kaedah .addEventListener. Berikut ialah contoh:
// window property window.onbeforeunload = function() { // Do something }; // .addEventListener window.addEventListener("beforeunload", function(e) { // Do something });
Nota:
Dalam kes iframe, peristiwa onbeforeunload tidak tercetus apabila iframe dipadamkan oleh induknya, tetapi nyahmuat dan acara pagehide lakukan. Walau bagaimanapun, Firefox pada masa ini mempunyai pepijat yang menghalang peristiwa ini daripada menyala untuk kes pemadaman iframe, menjadikannya mustahil untuk menjalankan kod serta-merta sebelum iframe dialih keluar dalam Firefox.
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Kod pada Tutup Tetingkap Penyemak Imbas atau Muat Semula Halaman?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!