Preventing iframe caching in browser
Posted
by Zarjay
on Stack Overflow
See other posts from Stack Overflow
or by Zarjay
Published on 2010-04-15T18:40:11Z
Indexed on
2010/04/15
18:43 UTC
Read the original article
Hit count: 489
How do you prevent Firefox and Safari from caching iframe content?
I have a simple webpage with an iframe to a page on a different site. Both the outer page and the inner page have HTTP response headers to prevent caching. When I click the "back" button in the browser, the outer page works properly, but no matter what, the browser always retrieves a cache of the iframed page. IE works just fine, but Firefox and Safari are giving me trouble.
My webpage looks something like this:
<html>
<head><!-- stuff --></head>
<body>
<!-- stuff -->
<iframe src="webpage2.html?var=xxx" />
<!-- stuff -->
</body>
</html>
The var
variable always changes. Despite the fact that the URL of the iframe has changed (and thus, the browser should be making a new request to that page), the browser just fetches the cached content.
I've examined the HTTP requests and responses going back and forth, and I noticed that even if the outer page contains <iframe src="webpage2.html?var=222" />
, the browser will still fetch webpage2.html?var=111
.
Here's what I've tried so far:
- Changing iframe URL with random var value
- Adding Expires, Cache-Control, and Pragma headers to outer webpage
- Adding Expires, Cache-Control, and Pragma headers to inner webpage
I'm unable to do any JavaScript tricks because I'm blocked by the same-origin policy.
I'm running out of ideas. Does anyone know how to stop the browser from caching the iframed content?
© Stack Overflow or respective owner