THEK
THEK

Reputation: 782

Detect window closed

I'm creating a chat client which uses a database to check the status of a session 0-waiting, 1-running, 2-closed.

I have a close button which will change the status to 2 but I was wondering, how do I detect if the browser is closed just by pressing x?

The main reason for this is I don't want the session showing up as running when one of the participants has closed their browser.

Upvotes: 2

Views: 4880

Answers (3)

user2953513
user2953513

Reputation: 69

You can use beforeunload event, because unload event is deprecated in jQuery version 1.8 and the beforeunload event fires whenever the user leaves your page.

$(window).bind("beforeunload", function() { 
    return confirm("Do you really want to close?"); 
})

Upvotes: 2

gdoron
gdoron

Reputation: 150253

use the unload and onbeforeunload events:

window.onunload = window.onbeforeunload = function (){...};

It's better to register to both of the events to be sure the callback will fire.

Upvotes: 3

Christofer Eliasson
Christofer Eliasson

Reputation: 33865

You could listen for the onbeforeunload-event with JavaScript, which is fired when the browser window is closed.

As you tagged the question with jquery, you can use .unload():

$(window).unload(function() {
  // Do some ajax-request to kill the session
});

Without jQuery it would be:

window.onbeforeunload = function() {
   // Do some ajax-request to kill the session
};

Upvotes: 5

Related Questions