Rumah >hujung hadapan web >tutorial js >JavaScript menentukan sama ada halaman web ditutup atau kemahiran refresh_javascript
Prinsipnya adalah untuk mengesan saiz tetingkap penyemak imbas pada masa ini melalui masa pencetus onunload meninggalkan masa tingkah laku halaman Berdasarkan saiz, ia boleh dinilai sama ada pengguna menyegarkan, melompat atau menutup program tingkah laku
Kodnya adalah seperti berikut
window.onunload = function(){ var a_n = window.event.screenX - window.screenLeft; var a_b = a_n > document.documentElement.scrollWidth-20; if(a_b && window.event.clientY< 0 || window.event.altKey){ alert('关闭页面行为'); }else{ alert('跳转或者刷新页面行为'); } }
Ia berfungsi dengan baik apabila menggunakan butang tutup di penjuru kanan sebelah atas penyemak imbas, tetapi ia tidak t berfungsi apabila menutup pada tab atau menutup pada bar tugasan
teg js hanya mempunyai acara onloadonunloadonbeforeunload tetapi tiada acara onclose.
Acara onunload akan dilaksanakan tidak kira sama ada halaman ditutup atau dimuat semula.
Bagaimana untuk menangkap penutup halaman?
Onload dilaksanakan apabila halaman dimuatkan
Onunload dilaksanakan hanya apabila halaman ditutup
Onbeforeunload dilaksanakan dahulu, kemudian onunload, dan akhirnya onload dilaksanakan apabila halaman dimuat semula.
Dengan cara ini kita boleh menambah tanda dalam onbeforeunload dan menilai tanda dalam onunload untuk menentukan sama ada halaman itu benar-benar ditutup
Keserasian yang lebih lengkap dengan ff
Kodnya adalah seperti berikut
document.documentElement.scrollWidth-20; if(b && evt.clientY
Kaedah di atas tidak boleh menilai pelayar berbilang tab, seperti 360, ie8, dll. Mari lihat kod
di bawah Seperti berikut
function CloseOpen(event) { if(event.clientX<=0 || event.clientY0)&&(event.clientX < document.body.clientWidth)) { s0 += "刷新窗口!"; } else { //获取当前时间 var date=new Date(); //将date设置为过去的时间 alert("关闭网页"); date.setTime(date.getTime()-10000); //将userId这个cookie删除 document.cookie="zhuangtao;expire="+date.toUTCString(); document.cookie="quanxianzifucuan;expire="+date.toUTCString(); document.cookie="quanxian;expire="+date.toUTCString(); s0 += "关闭窗口!"; sw = 1; } } } if (sw == 1) { event.returnValue = ""; } else { currentKeyCode = -1; } }
Di atas sahaja tidak boleh digunakan dan bar tugas ditutup, yang pada asasnya memenuhi keperluan kami.
Kandungan di atas ialah javascript yang diperkenalkan dalam artikel ini untuk menentukan sama ada halaman web ditutup atau dimuat semula Untuk kandungan yang lebih berkaitan, sila perhatikan laman web PHP Cina (www.php.cn)!