"Colin Graham" <cs********@hotmail.com> wrote in message
news:ee**************************@posting.google.c om...
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
:opener.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.
--
Grant Wagner <gw*****@agricoreunited.com>
comp.lang.javascript FAQ -
http://jibbering.com/faq
Pretty annoying, but it would work.