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,也方便以后自己查找。