Reputation: 1014
I'd like to know that a user leave from a Web page. I think there might be three scenarios: 1. move to another page in the same Web site, either open a new window or load a new page to the current window, 2. move to a page in different site, and 3. close the window.
Based on these scenarios, what I'm thinking is to check whether the current window is the focus. So my first question is Is this the right way? And the second question is How should I implement it in javascript?
Upvotes: 0
Views: 2877
Reputation: 625037
Take a look Mastering The Back Button With Javascript (it's the same principle). There are two relevant events: unload and beforeunload. Also see Best way to detect when user leaves a web page.
Upvotes: 4
Reputation: 9136
I just want to comment that there is probably no reliable, cross-browser solution for this... I know this doesn't add much value to your question, but if you can resolve your problem in any other way, I think it would be also more ergonomic.
Upvotes: 1
Reputation: 38740
You can't detect opening a new window or tab, but you can listen for the 'onunload' event.
jQuery(window).bind("unload", function() {
//your code here
});
This should fire when clicking on a link, closing the tab/window or pressing the back button.
Upvotes: 0