Adakah Peristiwa Onload Membakar pada Butang Belakang Penyemak Imbas Klik?
Apabila menyasarkan pelayar utama seperti Firefox, Opera, Safari dan IE, acara onload dalam JavaScript gagal dicetuskan apabila halaman dimuatkan melalui butang belakang. Ia hanya menyala semasa pemuatan halaman awal.
Mencapai Keserasian Merentas Pelayar
Untuk mengatasi sekatan ini dan mengendalikan acara butang belakang dalam semua penyemak imbas utama, penyelesaian kreatif mempunyai telah ditemui menggunakan jQuery. Dengan menambahkan pendengar acara onunload kosong pada badan, Safari, Opera dan Mozilla secara tidak sengaja mencetuskan muat semula halaman. Tindakan ini meniru fungsi onload yang diingini.
Berikut ialah contoh kod ringkas:
<body onunload=""> <script type="text/javascript"> alert('first load / reload'); window.onload = function(){alert('onload')}; </script> <a href="http://stackoverflow.com">click me, then press the back button</a> </body>
Setelah mengklik pautan dan menekan butang belakang, anda akan melihat bahawa makluman JavaScript dicetuskan, menunjukkan halaman muat semula.
Pertimbangan
Perlu diingat bahawa penyelesaian ini berpotensi memperlahankan halaman anda untuk pengguna. Adalah disyorkan untuk menilai dengan teliti sama ada pendekatan ini benar-benar sejajar dengan keperluan aplikasi anda.
Atas ialah kandungan terperinci Adakah Peristiwa `onload` Menyala Apabila Butang Belakang Diklik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!