JS11清理缓存

Posted huashengweilong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS11清理缓存相关的知识,希望对你有一定的参考价值。

前言:项目更新后JS,CSS文件常出现缓存问题,代码已更改,但在有些客户端不会立即生效

解决方案:时间戳

但是加时间戳也有不同的方案,手动加太麻烦,不过可以快速处理问题。

jsp页面:

<% String dateTime = org.apache.commons.lang.time.DateFormatUtils.format(java.util.Calendar.getInstance(), "yyyyMMddHHmmss"); %>
<script type="text/javascript" src="/js/xx.js?v=<%=dateTime%>"></script>
 <link rel="stylesheet" type="text/css" href="/css/layout.css?v=<%=System.currentTimeMillis() %>">

ftl页面(FreeMarker模板文件):

<script type="text/javascript" src="/js/xx.js?v=${.now}"></script>

上面两种方法也有问题,在代码没有更新的情况下,每次用户访问页面也都要重新拉取静态文件。而且html页面是没有上面两种写法的。

还有一种方法是访问后台路由时返回时间戳。侵入性太强,而且同样存在上面的问题。

一种较为通用的写法:

<script>document.write("<script type=‘text/javascript‘ src=‘/js/xx.js?v=" + Date.now() + "‘><\/script>");</script>

控制版本号:TODO

参考博客:

html里script标签src自动加上时间戳,降低缓存影响 - lllo3o的博客 - CSDN博客
https://blog.csdn.net/lllo3o/article/details/78292663

HTML页面自动清理js、css文件的缓存(自动添加版本号) - sinat_29740819的博客 - CSDN博客
https://blog.csdn.net/sinat_29740819/article/details/72875811

 

以上是关于JS11清理缓存的主要内容,如果未能解决你的问题,请参考以下文章

项目一众筹网05_02_[树形开发]菜单管理API文档发布到web服务器配置文件里面修改tomcat的默认端口号zTree的使用ctrl+F5 连同js一起刷新,这样就不用清理缓存了清理缓存

JS里面获取、存储、删除缓存里面的数据的具体代码是啥?

解决vue打包部署微信小程序升级清理缓存问题

移动端缓存清理

课时11:禁用清理二级缓存,以及整合Ehcache缓存

清理缓存的问题ctrl+F5或者引入外部js的时候?加任意数字