How To Set Timeout Period for Script (175500)
The information in this article applies to:
- Microsoft Internet Explorer (Programming) 3.0
- Microsoft Internet Explorer (Programming) 3.01
- Microsoft Internet Explorer (Programming) 3.02
- Microsoft Internet Explorer (Programming) 4.0
- Microsoft Internet Explorer (Programming) 5
- Microsoft Internet Explorer (Programming) 5.5
- Microsoft Internet Information Services version 6.0
This article was previously published under Q175500 SUMMARYImportant This article contains information about modifying the registry. Before you modify the registry, make sure to back it up and make sure that you understand how to restore the registry if a problem occurs. For information about how to back up, restore, and edit the registry, click the following article number to view the article in the Microsoft Knowledge Base: 256986 Description of the Microsoft Windows Registry Because some scripts may take an excessive amount
of time to run, Internet Explorer prompts
the user to decide whether they would like to continue running the slow script.
Some tests and benchmarks may use scripts that take a long time to run and may
want to increase the amount of time before the message box appears. In Internet
Explorer ,
the script timeout value can be changed on specific client machines by
modifying a registry entry. MORE INFORMATION There are situations when a Web page contains script that
takes an unusually long time to run. If you are scripting an ActiveX control on
a Web page to transfer a very large file or do a large database query, this
will often cause a significantly long delay. Internet Explorer 3.02 detects the
long delay and prompts the user with a dialog box reading the following: This page contains a script which is taking
an unusually long time to finish. To end this script now, click
Cancel.
The equivalent message box for Internet Explorer versions 4.0, 5.0
and 6.0 reads: A script on this page is causing Internet
Explorer to run slowly. If it continues to run, your computer may become
unresponsive. Do you want to abort the script?"
This mechanism allows the user to stop misbehaved script that runs into
an endless loop or otherwise is performing slowly. In Internet
Explorer 3.02, this message box can appear on machines running Windows 95. The
version 3.02 browser is specifically looking to see if the script thread has
pumped any windows messages in the last five seconds. There is no way to
override this timeout period for Internet Explorer 3.02. If you are using an
ActiveX control with long blocking operations, that ActiveX control should
either employ an event mechanism and return control to the caller or call
PeekMessage every five seconds to reset the timeout. As of Internet
Explorer 4.0 , 5.0
and 6.0, the timeout is no longer a fixed value based
on Windows messages. Internet Explorer now tracks the total number of executed
script statements for the current page with the script engine and throws up the
timeout dialog box when that value hits a threshold amount. Warning If you use Registry Editor incorrectly, you may cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that you can solve problems that result from using Registry Editor incorrectly. Use Registry Editor at your own risk. To change this timeout value
in Internet Explorer 4.0, 5.0, or 6.0 versions, follow these steps:
- Using a Registry Editor such as Regedt32.exe, open this
key:
HKEY_CURRENT_USER\Software\Microsoft\InternetExplorer\Styles Note If the Styles key is not present, create a new key
that is called Styles. - Create a new DWORD value called "MaxScriptStatements" under
this key and set the value to the desired number of script statements.
By default the key doesn't exist. If the key has not been
added, Internet Explorer 4 defaults to 5,000,000 statements executed as the
trigger for the timeout dialog box. Because the Internet Explorer 4.0, 5.0,
and 6.0 timeout is based on the number of script
statements executed, the timeout dialog box will not display during ActiveX
control or database-access delays. Endless loops in script will still be
detected.
Modification Type: | Minor | Last Reviewed: | 7/13/2004 |
---|
Keywords: | kbcode kbFAQ kbhowto kbScript KB175500 |
---|
|