开发者社区> 问答> 正文

静态页面如何统一加js时间戳?:报错

由于不是jsp,不能使用${},今天想了很久,发现下面几种方法都不是很好

1.定义一个js变量,统一用它做时间戳(改动大)

2.使用freemarker,themyleaf模板引擎,可用标签从后台取值(改动大)

3.定义一个filter,拦截js,重定向时加上时间戳,这样会请求两次(转发时没生效,不知道为什么)

4.java后台读取并修改<script>标签加上时间戳再覆盖原来的文件(这样效率低)

有哪位大神有更好的方法?

展开
收起
kun坤 2020-06-07 17:01:49 800 0
1 条回答
写回答
取消 提交回答
  • 静态页面的话不用加时间戳也能阻止缓存的,在<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可以
    2020-06-07 17:01:54
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
JavaScript函数 立即下载
Delivering Javascript to World 立即下载
编程语言如何演化-以JS的private为例 立即下载