验证码是以流的形式将随机生成的数字些到图片里,然后JSP页面再加载此图片。
可是每次点击刷新后,图片内容重写了,但页面显示的图片却不变。
起初认为是页面的缓存,所有在页面的头加了
<meta http-equiv="Pragma" content="no-cache"/>
<meta http-equiv="Cache-Control" content="no-cache, must-revalidate"/>
<meta http-equiv="Expires" content="0"/>
可还是不起作用,重启服务也一样,请各位帮忙。
实在崩溃。
可是每次点击刷新后,图片内容重写了,但页面显示的图片却不变。
起初认为是页面的缓存,所有在页面的头加了
<meta http-equiv="Pragma" content="no-cache"/>
<meta http-equiv="Cache-Control" content="no-cache, must-revalidate"/>
<meta http-equiv="Expires" content="0"/>
可还是不起作用,重启服务也一样,请各位帮忙。
实在崩溃。
LZ有没有尝试过清除掉IE的保存文件?
这样明白否?
IE的保存文件指的的什么?
不过JSP中生成的图片,不知道有没有地址。
那就不好说了。LZ可以尝试在生成图片的地址后面加上一个无用的参数,值为随机数。
刷新之后,查看此图片是正确的。
<script>
function(){
$("#validatecode").attr("src","/servlet/validatecode.jpg"+new Date());
}
</script>
<img src="validate.jsp" onclick="reloadImg(this);">
function reloadImg(obj){
obj.src="validate.jsp?param="+Math.random();
}
$("#validatecode").attr("src","/servlet/validatecode.jpg?time="+new Date());
abc_123423546.jpg,
这样每次的图片地址都不一样,就不会受缓存的影响了。
我是这样加的,之前就加了。
不好使。
否则浏览器是一定会缓存的,你的目的不可能达到。即使这样,你生成的那些图片,一样得自己去删除掉。
<a href="JavaScript:reloadImage();" title="点击刷新图片"><img src="../images/ValidateCode/ValidateCode.jpg" width="50" height="17" /></a>JS代码:
function reloadImage(){
location.href="./index.jsp?fresh=<%=new Date().getTime()%>"; document.form1.identify.value="";
document.form1.identify.focus();
}
function reloadImage(){
location.href="./index.jsp?fresh=<%=new Date().getTime()%>"; document.form1.identify.value="";
document.form1.identify.focus();
}
<img id="MzImgExpPwd" src="http://c.csdn.net/bbs/f/i/blank.gif" alt="" />document.getElementById('MzImgExpPwd').src = 'ShowExPwd.aspx?temp=' + (new Date().getTime().toString(36));不是刷新整个页面,只是刷新图片