You could compare the timestamp of the close event. The browser need more time to close all tabs and so there are a little delay.
//Unload Events
$(window).on('unload',function(e) {
e = e || window.event;
var timestamp = localStorage.getItem('timestamp')
if(timestamp !=null && timestamp !=undefined){
var TimeNow = new Date().getTime(), Difference = TimeNow - timestamp ;
if(Difference<20){
//Browser Closed
console.log('Browser Closed')
localStorage.removeItem('timestamp');
//Your logout function
logout();
}else{
//Tab Closed
console.log('Browser Tab Closed');
localStorage.setItem('timestamp',new Date().getTime());
}
}else{
//Other Event
localStorage.setItem('timestamp',new Date().getTime());
}
});
There no other solution for this detection.