I have a user interface that consists of a frameset with 4 frames. One frame is not displayed, and refreshes itself periodically with setTimeout() and reload() to retrieve some updated values from the server. It contains javascript that updates values on all of the other frames with the new information from the server.
On Firefox 1.xx and Netscape 7 & 8 (so, Gecko-based browsers), it appears that a blank or incomplete version of this hidden frame is getting cached, because the other frames are not updated. This problem only occurs after the first time the page is loaded. In other words, it doesn't occur when the page refreshes itself with setTimeout(), only when the whole frameset is refreshed or otherwise loaded. The problem seems to be fixed when I clear the cache on the browser, or disable it altogether. This problem does not seem to manifest itself in IE6. I have not tested it in Opera, Safari, or Konqueror.
I'm sending the following HTTP headers from the server-side:
cache-control: no-cache, max-age=0, must-revalidate
pragma: no-cache
expires: 0
(I can't use Last-Modified because the system may not always have the current time (it is an embedded application on a unit with no battery to preserve the time through reboots))
And the following meta-tags in the hidden frame:
<META HTTP-EQUIV="cache-control" CONTENT="no-cache">
<META HTTP-EQUIV="cache-control" CONTENT="max-age=0">
<META HTTP-EQUIV="expires" CONTENT="0">
<META HTTP-EQUIV="pragma" CONTENT="no-cache">
Does anyone know of any caching issues with gecko-based browsers? Hopefully this is the right forum for this question.
Thanks a lot,
Mike