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中文网
Lepaskan: 2016-05-16 15:39:38
asal
2000 orang telah melayarinya

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;);   
      } 
}
Salin selepas log masuk

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
Salin selepas log masuk

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;
    }
  
  }
Salin selepas log masuk

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

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan