6

在我的 IE8 页面上,我有一些通过管理面板更改的文本。例如:如果页面包含文本“hello world”,则 5 分钟后文本可能会有所不同,具体取决于管理员是否更改了它。

问题在于 IE8 缓存页面并再次显示相同的文本。如果我们清除缓存并刷新,文本就会更新。

我正在使用<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">标签来避免浏览器缓存。

我看到如果我每次访问网页时选择Internet选项浏览历史(设置) →问题就消除了;但如果设置为自动,则会显示页面的缓存版本。

即使最终用户将 IE8 中的缓存选项设置为自动,是否有办法强制“无缓存”?

4

3 回答 3

4

您可以使用以下标头强制 Internet Explorer 不缓存您的页面:

Expires: -1
Cache-Control: private, max-age=0

↪ 请参阅如何在所有浏览器中控制网页缓存?

于 2012-06-18T11:53:38.870 回答
2

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.

于 2014-03-19T17:10:04.633 回答
1

当您通过 POST 方法而不是 GET 请求页面时,您可以确定它永远不会被缓存。User1419007 的回答也是正确的。

于 2012-06-18T14:38:34.873 回答