防止HTML页面的缓存

时间:2013-05-23 14:31:41

标签: html caching

我有一个HTML页面。问题是我不想让用户每次放入新内容时刷新页面。

我有以下代码,以确保页面没有缓存:

     <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate"/>
     <meta http-equiv="Pragma" content="no-cache"/>
     <meta http-equiv="Expires" content="0"/>

问题是,我仍然需要在页面上进行刷新才能显示最新内容。难道我做错了什么?我应该使用其他一些标签吗?

2 个答案:

答案 0 :(得分:25)

您展示的Codesnippet会让浏览器在每次访问时加载网站,如果您执行频繁更新但仍有静态页面,这会非常有用。

<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate"/>
<meta http-equiv="Pragma" content="no-cache"/>
<meta http-equiv="Expires" content="0"/>

如果您希望它执行实时更新,就像在(g)邮件帐户中一样,您需要刷新(部分页面)本身。在这种情况下使用Javascript,如显示in this question或ajax调用。

$('#something').click(function() {
    location.reload();
});

答案 1 :(得分:10)

您拥有的值都可以,但meta http-equiv is highly unreliable。您应该使用真正的HTTP标头(具体方式取决于您的服务器,例如for Apache)。