在做前端页面开发的时候缓存问题比较常见,经常出现改完js然后在前台因为缓存没有显示功能的情况。
在jsp页面的js请求中可以这样设置
<meta http-equiv="pragma" content="no-cache"> <!-- 设置该html页面每次加载不进行缓存 -->
<meta http-equiv="cache-control" content="no-cache"> <!-- 设置html所有内容都不会被缓存 -->
<meta http-equiv="expires" content="0"> <!-- 设置缓存过期时间 -->
<script type="text/javascript" src="<%=basePath%>/js/vself/mydatas.js?t=<%=new Date().getTime()%>"></script> <!-- 引入js文件,在js文件后增加时间戳参数。由于每次参数不一样,所以每次加载时便会重新加载而不是调用缓存。 -->
这样jsp页面的js文件每次加载时就不会出现缓存了。
至于html页面可以再script里引入js文件.
<script type="text/javascript">
document.write('<link rel="stylesheet" href="index.css?time='+new Date().getTime()+'">');
</script>
这样也可以每次加载的时候不调用缓存文件。
在项目发布的时候,消除缓存的最佳方法就是在修改的js等文件后增加一个版本号的参数,每次发布修改版本号即可清除缓存。