Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 280
  • Last Modified:

on browser close

Hey guys i like to know is it possiable to sent an email when the user choose to close the browser

i have this js on my asp c# page

    <script type="text/javascript">
        var hook = true;
        window.onbeforeunload = function() 
        {
            if (hook) 
            {
                var x = document.getElementById('<%=lblArea.ClientID%>').innerText;
                return 'You have not verified your Bed and Breakfast in '+ x +', are you sure you wish to navigate away from this page? email sent to close page without verify:';
            }
        }
        function unhook() 
        {
            hook=false;
        }
    </script>

now if they click leave the page it must execute c# code to send them an email

Open in new window

0
JCWEBHOST
Asked:
JCWEBHOST
  • 8
  • 4
1 Solution
 
indrajitmahajanCommented:
YEs.. but you will have to use the java scipt for the same.
 function doSomething(e) {
            var posx = 0;
            var posy = 0;
            if (!e) var e = window.event;
            if (e.pageX || e.pageY) {
                posx = e.pageX;
                posy = e.pageY;
            }
            else if (e.clientX || e.clientY) {
                posx = e.clientX + document.body.scrollLeft
                            + document.documentElement.scrollLeft;
                posy = e.clientY + document.body.scrollTop
                            + document.documentElement.scrollTop;
            }
            if (posy < 0) {
                    window.open('../Forms/LogOut.aspx', '_self');
                    return true;
            }
        }

        document.onkeydown = keydown;
        function keydown(evt) {
            if (!evt) evt = event;
            if (evt.altKey && evt.keyCode == 115) { //CTRL+ALT+F4
                window.open("../Forms/LogOut.aspx", '_self');
            }
        }

Now you can write your code in Logout.aspx to send an email
0
 
JCWEBHOSTAuthor Commented:
how do i place  function doSomething in my code below?

    <script type="text/javascript">
        var hook = true;
        window.onbeforeunload = function() 
        {
            if (hook) 
            {
                var x = document.getElementById('<%=lblArea.ClientID%>').innerText;
                return 'You have not verified your Bed and Breakfast in '+ x +', are you sure you wish to navigate away from this page? email sent to close page without verify:';
            }
        }
        function unhook() 
        {
            hook=false;
        }
    </script>

Open in new window

0
 
indrajitmahajanCommented:
Hi...

Please put above code in before </script>

also put below code:
<body  onunload="doSomething(event);">
0
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 
JCWEBHOSTAuthor Commented:
like this?

   <script type="text/javascript">
        function doSomething(e) 
        {
            var posx = 0;
            var posy = 0;
            if (!e) var e = window.event;
            if (e.pageX || e.pageY) 
            {
                posx = e.pageX;
                posy = e.pageY;
            }
            else if (e.clientX || e.clientY) 
            {
                posx = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
                posy = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;
            }
            if (posy < 0) 
            {
                    window.open('../emails.aspx', '_self');
                    return true;
            }
        }

        document.onkeydown = keydown;
        function keydown(evt) 
        {
            if (!evt) evt = event;
            if (evt.altKey && evt.keyCode == 115) 
            { 
                window.open("../emails.aspx", '_self');
            }
        }
    </script>

    <script type="text/javascript">
        var hook = true;
        window.onbeforeunload = function() 
        {
            if (hook) 
            {
                var x = document.getElementById('<%=lblArea.ClientID%>').innerText;
                return 'You have not verified your Bed and Breakfast in '+ x +', are you sure you wish to navigate away from this page? email sent to close page without verify:';
            }
        }
        function unhook() 
        {
            hook=false;
        }
    </script>

Open in new window

0
 
JCWEBHOSTAuthor Commented:
it not working :(
0
 
indrajitmahajanCommented:
Do like this.....

<script type="text/javascript">
        function doSomething(e)
        {
            var posx = 0;
            var posy = 0;
            if (!e) var e = window.event;
            if (e.pageX || e.pageY)
            {
                posx = e.pageX;
                posy = e.pageY;
            }
            else if (e.clientX || e.clientY)
            {
                posx = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
                posy = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;
            }
            if (posy < 0)
            {
                    window.open('../emails.aspx', '_self');
                    return true;
            }
        }

        document.onkeydown = keydown;
        function keydown(evt)
        {
            if (!evt) evt = event;
            if (evt.altKey && evt.keyCode == 115)
            {
                window.open("../emails.aspx", '_self');
            }
        }

        var hook = true;
        window.onbeforeunload = function()
        {
            if (hook)
            {
                var x = document.getElementById('<%=lblArea.ClientID%>').innerText;
                return 'You have not verified your Bed and Breakfast in '+ x +', are you sure you wish to navigate away from this page? email sent to close page without verify:';
            }
        }
        function unhook()
        {
            hook=false;
        }
    </script>

Also in body tag add:
<body  onunload="doSomething(event);">

It should work..
0
 
JCWEBHOSTAuthor Commented:
hey when i put this code in the script it does not work but when i take it out it works


        var hook = true;
        window.onbeforeunload = function() 
        {
            if (hook) 
            {
                var x = document.getElementById('<%=lblArea.ClientID%>').innerText;
                return 'You have not verified your Bed and Breakfast in '+ x +', are you sure you wish to navigate away from this page? email sent to close page without verify:';
            }
        }
        function unhook() 
        {
            hook=false;
        }

Open in new window

0
 
JCWEBHOSTAuthor Commented:
and i have tested this code in google chrome, it does not work but work for IE

        function doSomething(e) 
        {
            var posx = 0;
            var posy = 0;
            if (!e) var e = window.event;
            if (e.pageX || e.pageY) 
            {
                posx = e.pageX;
                posy = e.pageY;
            }
            else if (e.clientX || e.clientY) 
            {
                posx = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
                posy = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;
            }
            if (posy < 0) 
            {
                    window.open('emails.aspx', '_blank');
                    return true;
            }
        }

        document.onkeydown = keydown;
        function keydown(evt) 
        {
            if (!evt) evt = event;
            if (evt.altKey && evt.keyCode == 115) 
            { 
                window.open("emails.aspx", '_blank');
            }
        }

Open in new window

0
 
indrajitmahajanCommented:
Hi..

YEs its just rendering issue of browsers..
Sorry but right now i dont have solution for other browsers..
I will check it..
0
 
JCWEBHOSTAuthor Commented:
thanks
0
 
Sar1973Commented:
Aren't you looking for the onunload event...?
<body onload="alert('Something');" onunload="alert('Otherthing');">

Open in new window

0
 
JCWEBHOSTAuthor Commented:
I've requested that this question be closed as follows:

Accepted answer: 0 points for JCWEBHOST's comment #a38838872

for the following reason:

it works
0
 
JCWEBHOSTAuthor Commented:
thanks
0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 8
  • 4
Tackle projects and never again get stuck behind a technical roadblock.
Join Now