在使用HTML / CSS开发网站时,在开发阶段,防止缓存是有意义的,因为查看网站的人会看到旧版本。在使用meta标签之前我已经看过线程了:
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="-1" />enter code here
然而,这个剂量似乎与HTML5一起使用,同样我只想在我更新后清除客户端缓存。
例如,如果我在index.html中有一个图像并更新此图像(相同的文件名不同的内容),那么客户端将看到上一个图像
有没有办法可以对html页面进行版本设置,以便客户端浏览器缓存版本1然后重新加载如果我将html更改为版本2,缓存将被清空,并且将加载包含所有更改的新网站?
似乎在大多数网络开发中都需要这样,否则客户永远不会看到变化
答案 0 :(得分:0)
您可以编辑索引页面中的> df2
label difference
1 test2 3
2 test2 -1
3 test3 -1
文件(或者在文件中加载的任何位置。在.css之后,您需要输入类似的查询?v = ...
所以这样:
旧文件:<link>
编辑后刷新缓存:<link href="/css/TestFile.css" rel="stylesheet">
v代表版本,你可以使用任何字符。
这会为访问该网站的所有人重置缓存,并让他们看到新版本而不是旧版本
答案 1 :(得分:0)
在我的情况下,我更改了一个特定的JS文件,我需要它在所有正在使用的浏览器中的最后一个版本。
我没有此文件的特定版本号,因此我只是哈希当前日期和时间(小时和分钟)并将其作为版本号传递:
<script src="/js/panel/app.js?v={{ substr(md5(date("Y-m-d_Hi")),10,18) }}"></script>
我需要每分钟加载一次,但您可以决定何时重新加载。
答案 2 :(得分:0)
在您的头部内容中添加以下内容 -
<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" />