On my page in IE8, I have got some text which gets changed through an admin panel. For example: if the page contains the text 'hello world', after 5 minutes the text could be different depending upon if the admin has changed it.
The problem is with IE8 which caches the page and shows the same text again. If we clear the cache and refresh, the text is updated.
I am using <META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
tag to make refrain the browser from caching.
I have seen that if I select Internet options → browsing history (settings) → every time I visit the web page, the problem is eliminated; but if it's set to automatic, the page's cached version is shown.
Is there a way I can force 'no-caching' even if the caching option in IE8 is set to automatic, by the end-user?
You can force Internet Explorer not to cache your page using the following headers:
Expires: -1
Cache-Control: private, max-age=0
↪ See How to control web page caching, across all browsers?
The best way to disable cache is to use a variable with random unique value in your URLs.
For example if your page's URL is:
www.abc.com/hello.php
make it like:
www.abc.com/hello.php?randomVar=1SH232X-182N19-1929SK
You can use the current timestamp as the value of randomVar
. This way, the page will not be cached.
When you request the page by POST method instead of GET, you can be pretty sure it will be never cached. User1419007's answer is also correct.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With