BUG: You cannot close an Internet Explorer window by using the window.setTimeout(window.close,1) method in Windows XP Service Pack 2 (884768)



The information in this article applies to:

  • Microsoft Windows XP Professional SP2
  • Microsoft Windows XP Home Edition SP2
  • Microsoft Windows XP Media Center Edition Service Pack 2 (SP2)
  • Microsoft Windows XP Tablet PC Edition Service Pack 2 (SP2)

SYMPTOMS

When you click a hyperlink that is designed to close a Microsoft Internet Explorer window, the Internet Explorer window does not close. This problem occurs in Microsoft Windows XP Service Pack 2.

CAUSE

The hyperlink uses the window.setTimeout(window.close,1) method to close the Internet Explorer window.

WORKAROUND

To work around this problem, use the window.setTimeout("window.close()", 1) method or the window.close() method to close the Internet Explorer window.

You can use the following code sample to demonstrate the workaround.
<html>
<body>
<script>
function TimeoutCloseWindow2()
{
	window.setTimeout("window.close()", 1);
}
function DirectCloseWindow()
{
	window.close();
}
</script>
<p>
<a href="javascript:TimeoutCloseWindow2();">Workaround 1: Click here to try to close the window by using window.setTimeout("window.close()", 1)</a>
</p>
<p>
<a href="javascript:DirectCloseWindow();">Workaround 2: Click here to try to close the window by using window.close()</a>
</p>
</body>
</html>

STATUS

Microsoft has confirmed that this is a bug in the Microsoft products that are listed in the "Applies to" section.

MORE INFORMATION

Steps to reproduce the problem

  1. Click Start, click Run, type Notepad, and then click OK.
  2. Put the following code sample in Notepad.
    <html>
    <body>
    <script>
    function TimeoutCloseWindow()
    {
    	window.setTimeout(window.close, 1);
    }
    </script>
    <a href="javascript:TimeoutCloseWindow();">Click here to try to close the window by using window.setTimeout(window.close, 1)</a>
    </body>
    </html>
  3. Save the file as Repro.html.
  4. Use Internet Explorer to open the Repro.html file.

    Note If Internet Explorer displays the following message, click the message, and then click Allow Blocked Content.

    To help protect your security, Internet Explorer has restricted this file from showing active content that could access your computer. Click here for options.
  5. Click the Click here to attempt to close window using window.setTimeout(window.close, 1) hyperlink.

    You expect the Internet Explorer window to close. However, the Internet Explorer window does not close.

Modification Type:MajorLast Reviewed:10/11/2004
Keywords:kbtshoot kbhtml kbScript kbWebBrowser kbbug KB884768 kbAudDeveloper