防止HTML页面的缓存

Nat*_*Pet 27 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"/>
Run Code Online (Sandbox Code Playgroud)

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

Gar*_*rin 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"/>
Run Code Online (Sandbox Code Playgroud)

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

$('#something').click(function() {
    location.reload();
});
Run Code Online (Sandbox Code Playgroud)

  • 原因是我们正在更新静态页面 html 页面。我们每两天做一次。我喜欢用户看到它的最新版本,而不是点击刷新。 (2认同)
  • 这仅适用于 HTML 文件本身,还是适用于所有引用的源?另外,这也适用于 HTML5 吗? (2认同)

Que*_*tin 11

你在那里的价值还可以,但是meta http-equiv非常不可靠.您应该使用真正的HTTP标头(具体方式取决于您的服务器,例如Apache).