用asp、和aspx做的图片验证码<img src="/code.asp" onClick="this.src='/code.asp'" alt="Click here to refresh" style="cursor:hand;">在IE6下点击时能够刷新,工作正常。
但是在FireFox、IE7下点击却无法刷新。原因在于ie7,firefox的缓存机制和ie6不同:由于js指定的src与原来图片的src相同,因此ie7,firefox不刷新验证码。
解决办法就是在后边加个参数 Math.random():
<img src="/code.asp" onClick="this.src='/code.asp?s='+Math.random()" alt="Click here to refresh" style="cursor:hand;">
由于Math.random()每次随机生成的数据不同,向code.asp传递了不同的参数,浏览器认为img的src发生了改变,因此重新生成了新的验证码。
修复验证码刷新问题
本文介绍了解决在Firefox和IE7等浏览器中无法刷新ASP及ASPX生成的图片验证码的方法。通过在图片源地址后添加随机参数Math.random(),强制浏览器重新加载验证码图片。
2448

被折叠的 条评论
为什么被折叠?



