IE7和IE8下验证码自动刷新失败的问题及解决方法


 本来,网页脚本不是我主要的工作,最近做一个小页面,才发现腻个问题……

 

验证码自然不是一张图片文件,而是用动态网页程序生成的带有伪随机数成分的,一般来说我们会用一个页面专门设计他

如ASP或JSP中:

 

<script language="javascript">
function fnRefresh()
{   document.pCode.src='vCode.asp';
}
</script>

上面是一个java脚本,只要调用fnRefresh(); name为pCode的图片会再次生成,对ASP来说,vCode.asp应该在生成的同事保留正确的验证码

比如Session验证的话,vbscript应有一行: Session("code") = ....

 

然而,IE6下完全正常的东西,在IE7和IE8下完全不起作用了,一点动静都没有,现在的解决方法是加一个与上一次调用不同的变量,如

<script language="javascript">
function fnRefresh()
{  var d = new Date(); 
    document.pCode.src='vCode.asp?d=' + d.toString(38);
}
</script>


从解决方法和问题过程看,应该是IE7/8对缓存处理的问题,当请求的目标地址一样则什么都不做,当然这只是我的想法,解决方法也不是我原创的

希望这方面的高手能把机理献出来大家学习学习,呵呵。

你可能感兴趣的:(IE7和IE8下验证码自动刷新失败的问题及解决方法)