Dalam aplikasi yang sebenarnya, kita sering perlu menerapkan kebutuhan untuk mengklik pengembalian, kembali, halaman sebelumnya dan tombol lain di aplikasi seluler dan browser untuk menutup halaman, menyesuaikan ke halaman yang ditentukan atau melakukan beberapa operasi lain. Jadi cara memantau peristiwa saat mengklik tombol kembali aplikasi seperti WeChat, Alipay, Baidu Nuomi, Baidu Wallet, dll. Atau halaman browser sebelumnya atau tombol Kembali.
Saya percaya bahwa banyak teman seperti saya, yang telah mencari di Baidu dan Sogou untuk waktu yang lama tetapi belum menemukan metode.
Inilah cara memantau:
Pertama -tama, kita perlu memahami sejarah browser.
Seperti yang Anda ketahui, kami dapat menggunakan riwayat jendela JavaScript di halaman dan kembali ke halaman sebelumnya. Namun, karena alasan keamanan, JavaScript tidak mengizinkan memodifikasi tautan URL yang ada dalam sejarah, tetapi Anda dapat menggunakan metode pushstate untuk menambahkan tautan URL ke sejarah, dan menyediakan pemantauan acara popstate untuk memunculkan URL dari tumpukan sejarah. Karena pemantauan acara popstate disediakan, kami dapat memantau.
Klik tombol untuk mendengarkan kode implementasi untuk tombol Return, Back, dan sebelumnya:
window.addeventListener ("PopState", function (e) {alert ("Saya mendengar acara tombol kembali browser"); // menerapkan fungsi Anda sendiri sesuai dengan kebutuhan Anda sendiri}, false);Meskipun kami mendengarkan acara belakang, halaman masih akan kembali ke halaman sebelumnya, jadi kami perlu menggunakan pushstate untuk menambahkan URL halaman ini untuk mewakili halaman ini. Semua orang tahu betul bahwa itu adalah #
fungsi pushhistory () {var state = {title: "title", url: "#"}; window.history.pushstate (state, "title", "#"); }Saat memasuki halaman ini, kami menekan koneksi lokal ke sejarah ini. Saat mengklik operasi pengembalian, kembali dan halaman sebelumnya, dengarkan dan terapkan operasi Anda sendiri dalam kode mendengarkan.
Ini kode lengkapnya:
$ (function () {pushhistory (); window.addeventListener ("popstate", function (e) {waspada ("Saya mendengar acara tombol kembali browser"); // mengimplementasikan fungsi Anda sendiri sesuai dengan kebutuhan Anda}, false); function pushhistory () {var state = {title: "title", url: "#"#"#" {var state = {title: "title", url: "#" "#");Konten di atas hanyalah kode inti yang tercantum oleh editor untuk semua orang. Anda dapat menambah, memodifikasi, dan menghapus kode sesuai dengan kebutuhan Anda. Jika Anda menemukan pertanyaan selama proses merujuk pada kode ini, silakan tinggalkan saya pesan dan editor akan membalas semua orang tepat waktu!