2016-06-20 14 views
0

AJAX呼び出しを使用してブラウザのタブを閉じてセッションをクリアする必要があります。ブラウザ検出タブを閉じるイベントをクリアするPHPセッションをクリアする

window.onbeforeunloadは、ページのリロードのみを検出します。

+0

私はアンロード時にAJAXコールを行う必要があると思います。しかし、ウィンドウが実際に閉じる前に、サーバーは応答する必要があります。 – Atticweb

+0

**あなたのページを離れるたびに実行されるため、onbeforunload **は目的のための適切なイベントではありません。 https://eureka.ykyuen.info/2011/02/22/jquery-javascript-capture-the-browser-or-tabclosed-event/にアクセスして目的を達成してください。 –

答えて

0

このコードを試しましたか?

window.onbeforeunload = function (event) { 
    var message = 'Important: Please click on \'Save\' button to leave this page.'; 
    if (typeof event == 'undefined') { 
     event = window.event; 
    } 
    if (event) { 
     event.returnValue = message; 
    } 
    return message; 
}; 

$(function() { 
    $("a").not('#lnkLogOut').click(function() { 
     window.onbeforeunload = null; 
    }); 
    $(".btn").click(function() { 
     window.onbeforeunload = null; 
}); 
}) 

; #lnkLogOutと.btn要素をクリックしながらプロンプトを表示しないようにするには、2番目の機能はオプションです。

もう1つ、カスタムプロンプトはFirefoxでは動作しません(最新バージョンの場合でも)。それについての詳細は、このスレッドに進んでください。

+0

これは、ページを再読み込みするときにブラウザのタブを閉じるのではなく動作します。 – Vijayakumar

+0

私はあなたがセッションを作成することをお勧めします、セッションが特定の時間の操作を実行していない場合は、セッションをクリアするだけで、最高の推奨アプローチです。 –

関連する問題