Home Articles FAQs XREF Games Software Instant Books About Feedback Search Site-Map
irt.org logo

Q1137 How can I check that a popup window is still open before attempting to close it?

irt.org | Knowledge Base | JavaScript | Window | Q1137 [ previous next ]

Q1137 How can I check that a popup window is still open before attempting to close it?

You can check to see if the window has been opened then subsequently closed with:

<script language="JavaScript"><!--
var windowHandle = null;

function openWindow() {
    windowHandle = window.open('http://www.irt.org/','windowName','height=200,width=200');
    if (!windowHandle.closed)
        window.closed = false;
}

function closeWindow() {
    if (windowHandle != null) {
        if (windowHandle.closed) {
            // already opened and closed
        }
        else {
            windowHandle.closed = true;
            windowHandle.close();
        }
    }
    else
        // not yet opened
}
//--></script>

Micke Kazarnowicz writes:

The original didn't work (generated error messages in Internet Explorer 5.0) and worked only once in Netscape 4.7. This one [following] doesn't generate any error messages, and can open and close the window an infinite number of times:
<script language="JavaScript"><!--
var windowHandle = null;
var windowHandle_closed = false;

function openWindow() {
    windowHandle = window.open('http://www.irt.org/','windowName','height=200,width=200');
    if (windowHandle_closed) {
        windowHandle_closed = false;
    }
}

function closeWindow() {
    if (windowHandle != null) {
        if (!windowHandle_closed) {
            windowHandle_closed = true;
            windowHandle.close();
        }
    }
}
//--></script>

Provide feedback ...
AddThis Social Bookmark Button

Provide feedback ... AddThis Social Bookmark Button


Last Updated: 30th March 2008. Maintained by: Martin Webb and Michel Plungjan
irt.org liability, trademark, document use, privacy statement and software licensing rules apply.
Copyright © 1996-2008 irt.org, All Rights Reserved.