Javascript close popup

C

Colin Graham

Hi guys,

Just a quickie here that i hope someone can help me with. Basically i
want stop the user from closing the popup window using the small x
button in the top right hand corner. Im aware that i cant disable this
so i thought is it possible to do a check to see if a hidden text on
the main form has a value. E.g. if we close the popup correctly then
text box on the main form will say true. If we close the text box
using the x in the right hand corner the text box will say false or
just be empty and then make the popup reapppear.

Is this possible and if so would anyone have any example of how i
would go about this because im pretty useless and new to javascript.

thanks in advance

CG
 
E

Evertjan.

Colin Graham wrote on 28 apr 2005 in comp.lang.javascript:
Just a quickie here that i hope someone can help me with. Basically i
want stop the user from closing the popup window using the small x
button in the top right hand corner. Im aware that i cant disable this
so i thought is it possible to do a check to see if a hidden text on
the main form has a value. E.g. if we close the popup correctly then
text box on the main form will say true. If we close the text box
using the x in the right hand corner the text box will say false or
just be empty and then make the popup reapppear.

Is this possible and if so would anyone have any example of how i
would go about this because im pretty useless and new to javascript.

If you are pretty useless and new to javascript,
how do you know this is just a quickie, Colin?
 
S

Stephen Vick

You could add a window.open in the OnBeforeUnload event of the body to
open the window. Pretty annoying though.


-Vick
 
G

Grant Wagner

Colin Graham said:
Hi guys,

Just a quickie here that i hope someone can help me with. Basically i
want stop the user from closing the popup window using the small x
button in the top right hand corner. Im aware that i cant disable this
so i thought is it possible to do a check to see if a hidden text on
the main form has a value. E.g. if we close the popup correctly then
text box on the main form will say true. If we close the text box
using the x in the right hand corner the text box will say false or
just be empty and then make the popup reapppear.

Do the reverse. Have the parent test if the child window is still open
using setInterval(). If the parent detects the child has closed it
re-spawns the window. The way to stop the cycle is have a "Close" button
on the child that properly terminates the timer in the parent before
closing the window.

<script type="text/javascript">
window.newWindowHtml = [
'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">',
'<html>',
'<head>',
'<title>Test</title>',
'</head>',
'<body onload="opener.startTimer();">',
'<a href="#" onclick="opener.stopTimer();window.close();return
false;">Close</a>',
'</body>',
'</html>'
].join('\n');
function openWindow()
{
window.w = window.open('javascript:eek:pener.newWindowHtml');
}
function startTimer()
{
window.timer = setInterval(testWindow, 500);
}
function stopTimer()
{
if (window.timer)
{
clearInterval(window.timer);
}
}
function testWindow()
{
if (!w || w.closed)
{
openWindow();
}
testWindow.toString = function()
{
return 'testWindow();';
}
}

openWindow();
</script>

REALLY annoying, but it seems to meet your requirements.
 
T

Thomas 'PointedEars' Lahn

Stephen said:
You could add a window.open in the OnBeforeUnload event
of the body to open the window. Pretty annoying though.

And IE only, fortunately.


PointedEars
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,764
Messages
2,569,566
Members
45,041
Latest member
RomeoFarnh

Latest Threads

Top