Apabila menavigasi tapak web, mengklik butang belakang lazimnya tidak mencetuskan peristiwa muat JavaScript dalam kebanyakan penyemak imbas, kecuali untuk Internet Explorer ini menimbulkan cabaran untuk melaksanakan fungsi yang bergantung pada acara ini.
Walau bagaimanapun, terdapat penyelesaian silang penyemak imbas yang memanfaatkan gelagat kehadiran jQuery:
<body onunload=""><!-- This triggers a page reload -->
Kod yang kelihatan tidak berbahaya ini memaksa penyemak imbas untuk memuat semula halaman dalam Safari, Opera dan Mozilla dengan menambah pendengar acara yang dimuatkan , tanpa mengira kandungan pengendali acara.
Untuk mengesahkan tingkah laku ini, sila gunakan kod berikut:
<body onunload="""><!-- This does the trick --> <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>
Anda akan mendapati bahawa selepas menggunakan onunload, mengklik pautan dan kemudian menekan butang belakang akan mencetuskan halaman untuk memuat semula. Bandingkan kod berikut, ia tidak mempunyai onunload dan tidak akan dimuatkan semula apabila kembali:
<body><!-- Will not reload on back button --> <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>
Penyelesaian menggunakan tingkah laku jQuery ini boleh melaksanakan fungsi seperti beban dalam pelbagai penyemak imbas Apabila diklik Dimatikan apabila butang belakang ditekan. Tetapi perlu diingat bahawa ia boleh menyebabkan halaman dimuatkan dengan lebih perlahan, jadi keperluannya harus dipertimbangkan dengan teliti sebelum menggunakannya.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencetuskan Peristiwa `onload` dengan Amanah Selepas Klik Butang Belakang Merentasi Pelayar Berbeza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!