火狐浏览器kaptcha验证码点击无法刷新问题解决方法

baynkbtg 2020-04-11

今天用到了谷歌的kaptcha验证码模块。但是发现在火狐浏览器中,使用起来有一点点的问题。

  当我们给验证码绑定单击事件时,代码如下:

window.onload = function(){
      document.getElementById("code_img").onclick = function(){
          this.src = "/kaptcha.jpg";
      }
}

但是我发现在火狐浏览器上,这样写没有办法实现点击验证码图片就刷新的功能。不过在谷歌浏览器却能流畅运行。

  经过我一翻搜索,发现是由于赋值的src与原来的src一模一样,所以ie7和firefox这个两个家伙不会刷新,简单说来就是偷懒。

  同时,我也找到了解决方法:代码如下

window.onload = function(){
       document.getElementById("code_img").onclick = function(){
           this.src = "/kaptcha.jpg?t=" + new Date().getTime();
       }
}

如果 【new Date() 】后面不加 【.getTime()】也能解决问题,但是你会发现点击刷新的时候没那么顺畅。加上之后就会顺畅无比。

其实类似的答案网上有很多,不过我这里比较了一下我看到的两个不同解决方法之间的差异,顺便练习一下好久都没写的js,也方便以后自己查找。

相关推荐