cari

Rumah  >  Soal Jawab  >  teks badan

javascript - Pantau jika pengguna menutup pelayar di luar talian

Saya sedang mengusahakan sistem web yang perlu mengesahkan sama ada ia dalam talian, saya menambah medan dalam talian pada jadual pengguna dan 0 bermakna di luar talian butang diklik untuk keluar seperti biasa, medan dalam talian jadual pengguna akan ditetapkan 0, mengosongkan sesi dan keluar dari tapak web tiada masalah, tetapi adalah mustahil untuk menukar status dalam talian pengguna kepada luar talian selepas pengguna menutup terus. tetingkap atau pelayar. Pada masa ini cuba menggunakan JS untuk memantau sama ada pengguna menutup tetingkap atau penyemak imbas dan kemudian menambahkan kaedah keluar pada acara penutupan Beberapa kod JS yang terdapat di Internet untuk memantau penutupan penyemak imbas adalah seperti berikut

<script type="text/javascript">  
    window.onbeforeunload = function(e) {
    e = e || window.event;
    var msg = "您确定要离开此页面吗?";
      
    // IE
    e.cancelBubble = true;
    e.returnValue = msg;
      
    // Firefox
    if(e.stopPropagation) {
        e.stopPropagation();
        e.preventDefault();
    }
     
    // Chrome / Safari
    return msg;
};
</script> 

Kaedah seperti onbeforeunload atau onload tidak dapat menentukan tindakan menutup penyemak imbas/menyegarkan halaman/melompat halaman Saya tertanya-tanya jika sesiapa mempunyai pengalaman dalam bidang ini
PHPzPHPz2736 hari yang lalu779

membalas semua(3)saya akan balas

  • 迷茫

    迷茫2017-06-05 11:11:36

    Tempoh perkhidmatan dimaklumkan setiap 1s bahawa pelanggan dalam talian dan disahkan pada pelayan Jika pelanggan kehilangan hubungan, ia disahkan berada di luar talian.

    setInterval(function(){
        $.ajax({
             type: "GET",
             url: "server url",
             data: {isOnline:1},
             dataType: "json",
             success: function(data){
                        //客户端在线
                      }
         });
    }, 1000);

    balas
    0
  • 滿天的星座

    滿天的星座2017-06-05 11:11:36

    Gunakan websocket

    balas
    0
  • PHP中文网

    PHP中文网2017-06-05 11:11:36

    window.onbeforeunload = function () {
        window.event.returnValue = '';
    };

    balas
    0
  • Batalbalas