FireFox,IE7点击图片刷新验证码bug的解决

本文介绍了一个网站中动态生成验证码的功能,特别是在点击验证码图片时重新生成新验证码的问题。针对IE7和Firefox等浏览器因缓存机制导致无法刷新验证码的情况,通过在请求URL中添加时间戳参数的方式,成功实现了跨浏览器的验证码刷新。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     现在做的这个网站用到了动态生成验证码的功能。并且点击动态生成的验证码图片要重新生成新的验证码。 
     我的生成验证码的页面是CheckCode.aspx,则在需要验证码的页面可以这么调用 
     <img id="checkcode" src="CheckCode.aspx" alt="看不清点击刷新" onclick="ReloadCode()" />
     我这里的ReloadCode函数是重新生成验证码的javascript函数,其内容如下(我使用了jquery):
    
function ReloadCode()
{
   
var checkcode = $("#checkcode").get(0);
   checkcode.src 
= "CheckCode.aspx";
}
    测试的时候发现,在ie6下点击验证码图片可以生成新的验证码,但是在ie7,firefox下点击图片的时候都没有反应。
    上网查了下资料,发现别人也碰到过类似的问题,初步猜测是ie7,firefox的缓存机制和ie6不同。由于js指定的src与原来图片的src相同,因此ie7,firefox不刷新验证码。解决的方法是为CheckCode.aspx页面传递一个参数就可以了。代码如下:
  
function ReloadCode()
{
   
var checkcode = $("#checkcode").get(0);
   
var dt = new Date();
   checkcode.src 
= "CheckCode.aspx?t=" + dt;
}

    由于传递了不同的参数,浏览器认为img的src发生了改变,因此重新生成了新的验证码。

转载于:https://www.cnblogs.com/longer/archive/2008/01/11/1035756.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值