Popup Survey when Leaving domain

I need to launch a shopper survey when the shopper leaves the website.
This means the survey must appear if the visitor:
A) navigates to a different domain,   or
B) closes the browser

The survey must popup reliably for any user regardless of browser.
This is VERY important to this e-commerce site, please help!
DougCoulterAsked:
Who is Participating?
 
sajuksCommented:
// this code should've worked for you
<html>
<head>
<script>
function checkExit(){
     var win = window.open("","","width=10,height=10");
     win.blur();
     win.document.write("<script>");
     win.document.write("setTimeout(\'checkDomain()\',1000);\n");
     win.document.write("function checkDomain(){ ");
     win.document.write("try {");
     win.document.write("if(window.opener) var x = window.opener.location.href;\n");
     win.document.write("self.close();}");
     win.document.write("catch(e){window.alert(\'you left my domain!!!\'); self.close();}");
     win.document.write("}");
     win.document.write("<\/script>");
}
</script>
</head>

<body onunload="checkExit();">
<a href="closeDomain.html">stay at domain</a><br>
<a href="http://www.experts-exchange.com">leave domain</a><br>
</body>
</html>
0
 
sajuksCommented:
<body onunload ="CallFunction()">

Where  the CallFunction will be something like
function CallFunction()
{
window.open ("popup.html","popup:)
}
0
Cloud Class® Course: Microsoft Azure 2017

Azure has a changed a lot since it was originally introduce by adding new services and features. Do you know everything you need to about Azure? This course will teach you about the Azure App Service, monitoring and application insights, DevOps, and Team Services.

 
DougCoulterAuthor Commented:
sajuks,

your approach creates a pop-up when leaving the domain BUT
also when remaining within the domain.

doug
0
 
DougCoulterAuthor Commented:
sajuks,
i can generate an alert with this but i need to generate a popup asp survey form.
will it work for something like:
win.document.write("catch(e){var win = window.open('survey.asp','survey','height=650,width=500');}");
doug
0
 
sajuksCommented:
Oh yes.Thats should work
Are you getting any errors?
0
 
DougCoulterAuthor Commented:
not getting the pop-up.

i need to make a database entry and launch an asp form based on the visitor leaving the domain.
the database code is simply:
<% sql = 'UPDATE tracking SET survey2 = '1' WHERE sessionID='" + Session.SessionID + "'";
connection.Execute(sql);%>
in asp. . . . . . .is there some way to execute that as part of the checkExit function?
0
 
sajuksCommented:
In the example were you getting the alert right ?
That means there must be something wrong in the windows open script.
This works for me
win.document.write("catch(e){var win = window.open('survey.asp','survey','height=650,width=500');}");

Are you sure that the popup is not closed by any popup killer ( like google toolbar or firewall?)
0
 
DougCoulterAuthor Commented:
sajuks,

I can get the alert,
I get the initial 10x10 window,
but I am unable to get another window to popup.

So, you're right, there must be something wrong with the the windows open script,
there is no problem with popup blockers, i can get popups when there are no conditionals.

i have tried:
win.document.write("catch(e){var win = window.open('survey.asp','survey','height=650,width=500');}");
which seems like a simple replacement for the alert, but no luck.

Any suggestions?
doug
0
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.

All Courses

From novice to tech pro — start learning today.