2017-02-15 70 views
0

私はPHPとMySqlで作業しています。私は機能が必要です、ユーザがブラウザのタブを閉じると、ユーザは自動的にログアウトする必要があります。 javascript onbeforeunloadイベントを使用しました。しかし、それは動作していません、このイベントはまた、ページリフレッシュのために実行されます。ここで ブラウザだけでなくブラウザのタブを閉じた後に自動的にログアウトする

私のサンプルコードがある

window.onbeforeunload = function(){ 
    $.ajax({url: "logout.php", success: true}); 
    return 'Are you sure ?'; 
}; 
+0

チェック:http://stackoverflow.com/questions/3888902/javascript-detect-browser-close-tab-close-browser –

答えて

0

アイデアのは、5秒を言わせためにあなたが停止するセッションごとに2秒のバックエンドを突くと、期限切れにするのでしょうか?このようにして、タブセッションを閉じてから3〜5秒後に自動的に期限切れになります。

setInterval(function() { 
    $.get('/poke.php'); 
}, 2000); 

PHP側ながら:この回答で

// poke.php 
$_SESSION['poke'] = time(); 

// Probably your index.php 
if (isset($_SESSION['poke'] && time() - $_SESSION['poke'] > 5) { 
    // Do the logout 
} else { 
    $_SESSION['poke'] = time(); 
} 
関連する問題