Article ID: 319546 - Last Review: October 13, 2003 - Revision: 4.0

PRB: Internet Explorer Cache Is Not Used When You Run innerHTML Code to Insert the Same Image Multiple Times

System TipThis article applies to a different operating system than the one you are using. Article content that may not be relevant to you is disabled.
This article was previously published under Q319546
Expand all | Collapse all

SYMPTOMS

When you run Internet Explorer, the Internet Explorer cache is not used as you expect when you run innerHTML code to insert the same image multiple times. Notice the following code samples:
myDiv1.innerHTML = "<IMG SRC='image.gif'>"
				
myDiv2.innerHTML = "<IMG SRC='image.gif'>"
				
The preceding code results in sending two GET requests to retrieve the Image.gif file in Internet Explorer 6.0. Three GET requests are sent to retrieve the Image.gif file in Internet Explorer 5.5. Your expectation is that the Web server would be hit only one time.

RESOLUTION

To work around this problem, use one or both of the following methods:
  • Preload the image in a DIV element with the display:none attribute:
    <DIV style='display:none'><IMG SRC='image.gif'></DIV>
    				
  • Create a brief time-delay so that Internet Explorer has enough time to verify whether the image is in the cache, and then call the innerHTML property.

STATUS

This behavior is by design.

APPLIES TO
  • Microsoft Internet Explorer (Programming) 6.0
  • Microsoft Internet Explorer 5.5
Keywords: 
kbprb KB319546
Retired KB ArticleRetired KB Content Disclaimer
This article was written about products for which Microsoft no longer offers support. Therefore, this article is offered "as is" and will no longer be updated.