Select the product you need help with
- Internet Explorer
- Windows Phone
- More products
Circular references to DOM objects on an HTML page cause a memory leak
Article ID: 830555 - View products that this article applies to.
A memory leak occurs when you refresh an HTML page that uses Microsoft JScript code that contains circular references to objects in the Microsoft Internet Explorer Document Object Model (DOM).
This memory leak occurs because DOM objects are non-JScript objects. DOM objects are not in the mark-and-sweep garbage collection scheme of JScript. Therefore, the circular reference between the DOM objects and the JScript handlers will not be broken until the browser completely tears down the page. This memory leak will end when the browser opens a new Web page or when the browser window is closed.
To resolve this problem, avoid circular references to Internet Explorer DOM objects in your Jscript code. To work around this problem in the sample code that is included in the "More information" section of this article, make the following change:
With this change, the mouse function is not a closure object that leads to a circular reference.
Microsoft has confirmed that this is a bug in the Microsoft products that are listed in the "Applies to" section.
Steps to reproduce the behavior
For more information about Internet Explorer leak patterns, visit the following Microsoft Developer Network (MSDN) Web site:
Article ID: 830555 - Last Review: November 2, 2007 - Revision: 3.4