window.onunload
を使用すると、ユーザーがページを離れるとき/タブを閉じるときにAJAX呼び出しを開始できます。
window.onunload = function(){
// AJAX call to mark user "offline"
}
EDIT:ユーザーがページを離れたときに、これが唯一実行されるように、私は、リンクをクリックしたときに変数を設定することをお勧めします。 jQueryのを使用して
、それは次のように行うことができます。
$('a').click(function(){ // Run for all links
$('body').data('linkClicked', true); // Set global variable
});
$(window).unload(function(){ // jQuery version of window.onunload
if(!$('body').data('linkClicked')){ // Check global variable
$.ajax({
url: 'url',
data: {some: data},
async: false // this locks the browser, but it may be needed to make
// sure the ajax call runs before the tab is closed
});
}
});
これはうまく動作しますが、これはページ変更時にも発生すると思います。ユーザーがあなたのサイトの別のセクションへのリンクをクリックすると、これは解雇されます。 – Henesnarfel
すべてのページが変更された後、このトリガはありませんか? –
@SamDzHamidaかなり確信しています – Henesnarfel