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

Article translations Article translations
Article ID: 319546
This article has been archived. It is offered "as is" and will no longer be updated.
Expand all | Collapse all


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.


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.


This behavior is by design.


Article ID: 319546 - Last Review: June 19, 2014 - Revision: 6.0
kbnosurvey kbarchive kbprb KB319546

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from