JavaScript, Penyemak Imbas dan Penutupan Tetingkap: Menjejaki Perlepasan Pengguna
Menjejak perlepasan pengguna adalah penting untuk menangkap data dan melakukan tindakan sebelum pengguna meninggalkan halaman. Walaupun memantau acara navigasi agak mudah, mengesan penutupan tetingkap atau perubahan URL tanpa interaksi pengguna menimbulkan cabaran.
Tangkap Acara Penutupan Tetingkap
API Beacon, tersedia dalam moden pelayar, menyediakan penyelesaian. Permintaan Beacon direka bentuk untuk melaksanakan walaupun apabila pengguna meninggalkan halaman secara tiba-tiba, memastikan tindakan kritikal masih boleh dijalankan.
Untuk menggunakan API Beacon, gunakan coretan kod berikut:
var url = "https://example.com/foo"; var data = "bar"; navigator.sendBeacon(url, data);
Alternatif untuk Penyemak Imbas Lama
Jika menyokong yang lebih lama pelayar adalah perlu, acara visibilitychange menawarkan sandaran. Peralihan daripada "pasif" kepada "tersembunyi" dalam acara ini menandakan perlepasan pengguna yang akan berlaku. Berikut ialah contoh:
document.addEventListener('visibilitychange', function() { if (document.visibilityState === "hidden") { // Perform desired actions (e.g., send beacon request) } });
Kebolehpercayaan dan Penyekat Iklan
Perubahan keterlihatan telah menjadi penunjuk yang boleh dipercayai tentang keluar pengguna dalam penyemak imbas moden. Walau bagaimanapun, penyekat iklan mungkin mengganggu permintaan suar, terutamanya jika asal silang atau berasal daripada domain penjejakan yang diketahui.
Pertimbangan Merentas Tapak
Permintaan Suar ialah permintaan POST yang menghormati sekatan CORS. Apabila membuat permintaan merentas tapak, pastikan ia memenuhi keperluan yang diperlukan untuk mengelakkan penyekatan oleh penyemak imbas.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjejaki Perlepasan Pengguna dari Halaman Web, Walaupun dengan Penutupan Penyemak Imbas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!