解决img的src在firefox,IE7-8下,无法动态加载的问题

需求:登录页的验证码图片,单击刷新。

<img src="captcha.htm" id="captcha" style="cursor: pointer;"/>

用juery事件绑定,

$("#captcha").bind('click', function(){
  $(this).attr('src', 'captcha.htm');
  //document.getElementById("captcha").setAttribute("src", 'captcha.htm'); 
});

在chrome与IE6下没问题,但是在firefox与IE7-8下有问题,单击图片,不刷新。

在firefox下,用firebug测试,发现这个事件绑定没问题,事件触发了,并执行了,但是$(this).attr('src', 'captcha.htm')没能让img去重新加载图片,然后我在firebug下,把执行过的网络链接给删除了,再单击图片,就可以刷新了,我估计是缓存的问题,也有可能是浏览器本身的什么特性。不管那么多,我就给链接加上一个随机数。             

$(this).attr('src', 'captcha.htm?random='+Math.random());

再在firefox下执行,发现现在可以刷新了,然后在IE7-8下测试页没问题。

搞不清楚,为什么会这样?


你可能感兴趣的:(function,IE,测试,Firebug,chrome,firefox)