window.onunload
을 사용하면 사용자가 페이지를 떠날 때/닫을 때 AJAX 호출을 시작할 수 있습니다.
window.onunload = function(){
// AJAX call to mark user "offline"
}
편집 : 링크를 클릭 할 때 변수를 설정하면 사용자가 페이지를 떠날 때만 실행되도록 설정하는 것이 좋습니다. 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