<link rel="/style/style.css"/>
所以这是我的index.html。如果我使用git,我该如何实现缓存拦截器?
如果我保存它,我想自动执行的style.css?版本= 3 ......所以这个萧条缓存
什么是做到这一点的最简单的方法?
<link rel="/style/style.css"/>
所以这是我的index.html。如果我使用git,我该如何实现缓存拦截器?
如果我保存它,我想自动执行的style.css?版本= 3 ......所以这个萧条缓存
什么是做到这一点的最简单的方法?
使用JavaScript,你可以只写
<script type="text/javascript">
document.write('<link rel="stylesheet" type="text/css" href="style.css?version=' + (new Date()).getTime() + '">');
</script>
,如果你使用任何服务器端脚本可以更容易完成。类似于`
<link href="/style/style.css?version=<?php echo time() ?>">`
这将强制更新每个请求。理想情况下,只有在文件发生变化时缓存拦截器才会生效,这就是为什么用户要求使用git修订标签(这是我寻找的)。不过,如果您确实需要重新加载每个请求,请不要随意使用,这样做毫无意义。更好的选择是使用时间,因为它总会不同。随机可以产生重复,即使不太可能,但仍然使用时间要简单得多。在JavaScript中,这是'(new Date())。getTime()'和简单的'time()'在PHP中。 – six8
如果您使用git,则可以使用git describe --tags --always
获取当前版本。
如果在PHP中,你可以这样做:
$currentVersion = `git describe --tags --always`
的然后我们$ CURRENTVERSION缓存阻止宏:
<link href="/style/style.css?version=<?=$currentVersion?>">
当然:
它将工作,即使在你不使用标签(感谢--always
开关),但它是更好的使用它们,所以$ CURRENTVERSION会像v2.1.3-c1a2f3e
。
git在哪里适合? – tpower
javascript在哪里适合? –
模板适合哪里? –