今天看CZBK的AJAX视频,发现一个小问题,不经常注意的问题.对于IE浏览器有这种现象,在访问相同地址的时候会调用 服务器端在浏览器中的缓存.比如访问的两次地址都是 http://localhost:8888/Test/Servlet?name=evan那么第二次访问就不会重新访问服务器端,而会直接调用浏览器离的缓存来进行返回运算.
解决方法是利用"时间戳"的伪地址骗过浏览器.  在发送url请求时加上一个参数,这个参数是时间戳,就是系统时间.(以毫秒为单位的数字类型),下面是视频教程中写的一个js函数.
1 function convertURL(url) {
2   var timstamp = (new Date()).valueOf();
3   if (url.indexOf("?">= 0) {
4     url = url + "&t=" + timstamp;
5   } else {
6     url = url + "?t=" + timstamp;
7   }
8   return url;
9 }
经测试在FX下不会有此缓存,而在IE下会有.
这个时间戳的伪地址还用在 一般web验证码刷新上!

posted on 2008-12-05 22:15 leweslove 阅读(1101) 评论(1)  编辑  收藏

FeedBack:
# re: "时间戳"与IE缓存
2009-08-27 14:55 | jimphei
function encodingURL(url)
{
var timetamp =new Date().valueOf();
if(url.indexOf("?")>0)
{
url=url+"&"+timetamp;
}else
{
url=url+"?"+timetamp;
}
return url;
}

我觉得这样子也可以,而且比较常用  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航:
 
Copyright@2008-2009 By Evan