Percanggahan Pengendalian Acara Tetingkap dalam Firefox, Safari dan Opera: Panduan
Pernyataan Masalah
Dalam bidang aplikasi sembang, keluar yang anggun selalunya memerlukan mendapatkan pengesahan pengguna sebelum ditutup. Untuk mencapai ini, seseorang mungkin menggunakan acara window.onbeforeunload untuk pengesahan dan acara window.ounload untuk penamatan sesi yang anggun. Walau bagaimanapun, fungsi ini nampaknya menunjukkan ketidakkonsistenan merentas penyemak imbas, terutamanya dalam Opera, Firefox dan Safari.
Opera
Seperti yang dinyatakan sebelum ini, window.onbeforeunload tidak berfungsi dalam Opera, menghalang paparan mesej pengesahan penutupan.
Firefox
Firefox juga mempamerkan tingkah laku yang tidak boleh dipercayai dengan window.onbeforeunload. Mesej pengesahan mungkin tidak dipaparkan secara konsisten. Tambahan pula, window.onunload juga diketahui bermasalah, menghalang penamatan sesi.
Safari
Safari memberikan set cabarannya sendiri. Walaupun window.onunload tidak beroperasi seperti yang diharapkan, pembangun boleh mempertimbangkan untuk menggunakan acara pagehide sebagai alternatif. Acara ini menyediakan kefungsian yang serupa dengan onunload, membolehkan pelaksanaan tindakan penutupan sebelum halaman disembunyikan.
Penyelesaian
Untuk menyediakan pengalaman pengguna yang konsisten merentas penyemak imbas, ia adalah disyorkan untuk meneroka pendekatan alternatif. Pertimbangkan perkara berikut:
Atas ialah kandungan terperinci Mengapakah Gelagat Pengendalian Acara Tetingkap Tidak Konsisten dalam Firefox, Safari dan Opera?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!