Rumah >hujung hadapan web >tutorial js >JavaScript menentukan sama ada halaman web ditutup atau kemahiran refresh_javascript

JavaScript menentukan sama ada halaman web ditutup atau kemahiran refresh_javascript

PHP中文网
PHP中文网asal
2016-05-16 15:39:382001semak imbas

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(&#39;关闭页面行为&#39;); 
    }else{ 
         alert(&#39;跳转或者刷新页面行为&#39;);   
      } 
}

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)!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn