由于不是jsp,不能使用${},今天想了很久,发现下面几种方法都不是很好
1.定义一个js变量,统一用它做时间戳(改动大)
2.使用freemarker,themyleaf模板引擎,可用标签从后台取值(改动大)
3.定义一个filter,拦截js,重定向时加上时间戳,这样会请求两次(转发时没生效,不知道为什么)
4.java后台读取并修改<script>标签加上时间戳再覆盖原来的文件(这样效率低)
有哪位大神有更好的方法?
静态页面的话不用加时间戳也能阻止缓存的,在<head>段加入以下代码:
<meta HTTP-EQUIV="pragma" CONTENT="no-cache"> <meta HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate"> <meta HTTP-EQUIV="expires" CONTENT="0">
什么叫修改统一不使用缓存,否则使用缓存?
你把时间戳加载哪里?是script里面?还是script的src的URL后面带一个URL参数,参数为时间戳?
###### freemarker有自定义标签,定义个时间戳标签,时间来自config文件。在css和js文件后加一个${date}。修改css和js后修改config的时间就可以了######挖坟,grunt可以版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。