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



The information in this article applies to:

  • Microsoft Internet Explorer (Programming) 6.0
  • Microsoft Internet Explorer (Programming) 5.5

This article was previously published under Q319546

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.

Modification Type:MajorLast Reviewed:10/13/2003
Keywords:kbprb KB319546 kbAudDeveloper