js页面缓存问题

简介:

1.在HTML中加入头

1
2
3
< META  HTTP-EQUIV = "Pragma"  CONTENT = "no-cache" >
< META  HTTP-EQUIV = "Cache-Control"  CONTENT = "no-cache" >
< META  HTTP-EQUIV = "Expires"  CONTENT = "0" >

或者加入

1
2
3
< meta  http-equiv = "pragma"  content = "no-cache"   />
< meta  http-equiv = "content-type"  content = "no-cache, must-revalidate"  />
< meta  http-equiv = "expires"  content = "Wed, 26 Feb 1997 08:21:57 GMT" />

清除临时缓存

1
< body  onLoad = "javascript:document.yourFormName.reset()" >


2.在action,使用如下声明

1
2
3
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache"); 
response.setDateHeader("Expires", 0);


3.随机参数

1
document.write("< script  src = 'test.js?rnd="+Math.random()+"' ></ s "+"cript>");


4.jquery ajax清除浏览器缓存的两种方法:


1.通过$.ajaxSetup 设置属性cache:false,让ajax不调用浏览的缓存.

1
jQuery.ajaxSetup ({cache: false });


2.可以在ajax的url后加上随机串来避免浏览缓存

1
$.ajax({url: 'test.php?' +parseInt(Math.random()*100000)});

5.有时候以上的方法清除缓存只清除一次,第二次就没有效果了。

所以,本人认为最佳的方法是,在调试的过程中,禁掉IE缓存,这样调试就OK了。但是,用户并不会禁掉呀,这不是出问题了吗?

用户会不会我们不去管,如果写好了js代码的话,我们在js文件后面加入一个版本号就好了。比如:

1
<script type= "text/javascript"  src= "<%=baseURL%>/xhd_js/select-ajax.js?1.0" ></script>

但是,如果开发者重新修改了js文件用户怎么办?

修改之后确定使用之后,再加上

1
<script type= "text/javascript"  src= "<%=baseURL%>/xhd_js/select-ajax.js?2.0" ></script>

则可以解决问题。




本文转自 爱笑嘚蛋蛋 51CTO博客,原文链接:http://blog.51cto.com/dd118/1841936,如需转载请自行联系原作者
相关文章
|
1月前
|
缓存 JavaScript 前端开发
一次js请求一般情况下有哪些地方会有缓存处理?
一次js请求一般情况下有哪些地方会有缓存处理?
18 1
|
1月前
|
缓存 JavaScript 网络架构
Vue.js 进阶技巧:keep-alive 缓存组件解析
Vue.js 进阶技巧:keep-alive 缓存组件解析
|
2月前
|
缓存 JavaScript CDN
一次js请求一般情况下有哪些地方会有缓存处理?
一次js请求一般情况下有哪些地方会有缓存处理?
|
3月前
|
缓存 JavaScript Java
thymeleaf引用JS加随机数防止缓存
thymeleaf引用JS加随机数防止缓存
19 0
|
4月前
|
缓存 JavaScript 网络协议
一次js请求一般情况下有哪些地方会有缓存处理
一次js请求一般情况下有哪些地方会有缓存处理
55 0
|
5月前
|
存储 缓存 JavaScript
js请求都有哪些缓存处理
js请求都有哪些缓存处理
23 0
|
7月前
|
缓存 JavaScript
|
8月前
|
缓存 边缘计算 网络协议
一次js请求一般情况下有哪些地方会有缓存处理?
DNS缓存指DNS返回了正确的IP之后,系统就会将这个结果临时储存起来。并且它会为缓存设定一个失效时间 (例如N小时),在这N小时之内,当你再次访问这个网站时,系统就会直接从你电脑本地的DNS缓存中把结果交还给你,而不必再去询问DNS服务器,变相“加速”了网址的解析。当然,在超过N小时之后,系统会自动再次去询问DNS服务器获得新的结果。 所以,当你修改了 DNS 服务器,并且不希望电脑继续使用之前的DNS缓存时,就需要手动去清除本地的缓存了。
85 0
|
缓存 JavaScript
js:使用Map实现一个LRU缓存
js:使用Map实现一个LRU缓存
122 0
|
缓存 JavaScript Serverless
js: 实现一个cached缓存函数计算结果
js: 实现一个cached缓存函数计算结果
56 0