Improve company productivity with a Business Account.Sign Up

x
?
Solved

How to detect browser close(x) click in firefox

Posted on 2010-11-17
4
Medium Priority
?
1,968 Views
Last Modified: 2012-05-10
I have an ASP.NET app
I need to detect when the user clicked the close(x) on the far top right.
I have an onbeforeunload event that triggers the code below. and have the following two questions

A)
This works for IE, Does Firefox recognize the following check, if not what is the equivalent
if ((window.event.clientX < 0) || (window.event.clientY < 0))

B)
Also what is the equivalent XMLHttpRequest object for Firefox

The firefox version I am testing with is
Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12 (.NET CLR 3.5.30729)
<script type="text/javascript" language="javascript">
    function logUser() {
        if ((window.event.clientX < 0) || (window.event.clientY < 0)) {
      
             logoutXMLHTTP()
         }

     }
     function logoutXMLHTTP() {
         var xmlHttp;
         try {
             // Firefox, Opera 8.0+, Safari
             xmlHttp = new XMLHttpRequest();
             xmlhttp.open("GET", "AbandonSession.aspx", false); 
             xmlhttp.send();
         }
         catch (e) {
             // Internet Explorer
         try {
               xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
               xmlhttp.open("GET", "AbandonSession.aspx", false); 
               xmlhttp.send();
             }
         catch (e) {
             try {                                 
               xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
               xmlhttp.open("GET", "AbandonSession.aspx", false);
               xmlhttp.send();
                 }
                 catch (e) {
                     alert("Your browser does not support AJAX!"); return false;
                 }
             }
         }
     }


</script>

Open in new window

0
Comment
Question by:countrymeister
  • 2
4 Comments
 
LVL 7

Expert Comment

by:deadlyDev
ID: 34154725
I know its not exactly an answer to your question... but check out http://jquery.com/ This library lets you write javascript code once (Not changing per browser) and takes care of the differences between browsers for you... Specifically check out the .ajax() method, which will use the XMLHttpRequest object from each of the browsers seamlessly... This framework changed my life!

When it comes to your problem code, you will need only write the code once, and it will work on all [supported] browsers!
0
 
LVL 6

Expert Comment

by:Codebot
ID: 34163197
If you are using asp.net then use server side session start and session end
they are more reliable
http://quickstarts.asp.net/QuickStartv20/aspnet/doc/applications/state.aspx
or check this one
http://www.dotnetcurry.com/ShowArticle.aspx?ID=126&AspxAutoDetectCookieSupport=1
0
 
LVL 1

Author Comment

by:countrymeister
ID: 34163357
Codebot,

Please note closing the browser is a pure client side event, and not a server side event.
I  need to know if what is the equivalent of window.event.clickX in firefox and the XmlHttp request object for Firefox
0
 
LVL 6

Accepted Solution

by:
Codebot earned 2000 total points
ID: 34163444
yes use
var e = (window.event) ? window.event : evt;

if (e.clientX < 0 && e.clientY < 0){
{

alert("window closing....");

}

Open in new window

and for object use
unction GetXmlHttpObject()
{
var xmlHttp=null;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
return xmlHttp;
}

Open in new window

0

Featured Post

Get expert help—faster!

Need expert help—fast? Use the Help Bell for personalized assistance getting answers to your important questions.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Ever visit a website where you spotted a really cool looking Font, yet couldn't figure out which font family it belonged to, or how to get a copy of it for your own use? This article explains the process of doing exactly that, as well as showing how…
This is the conclusion of the review and tests for using two or more Password Managers so you don't need to rely on just one. This article describes the results of a lot of testing in different scenario's to reveal which ones best co-exist together.…
Google currently has a new report that is in beta and coming soon to Webmaster Tool accounts. This Micro Tutorial will highlight new features for Google Webmaster Tools.
This Micro Tutorial will demonstrate how nuggets on the Web are formatted by using Chrome Developer Tools. These tools would not only view the site's CSS but it can also modify it and save the CSS to use on your own site.

588 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question