火狐浏览器图形验证码刷新不生效的问题(图片src重新赋值不生效的问题)

李守彬的空间 2019-09-08

场景之一

图形验证码刷新

刷新方式:点击一次图片,就重新给src赋值一次,从而进行刷新。

// 这种方式,谷歌浏览器正常刷新,火狐浏览器不会刷新
ImageCodeSrc = BASE_URL + "/login/captcha.jpg"

这样写在谷歌浏览器中是正常显示的,没有问题。但是火狐就会出现不刷新的问题。

原因

【由于指定的src与原来图片的src相同,所以在ie7、火狐浏览器下验证码不会刷新】

问题就出在上面的赋值方式,导致每次src的路径都是一样。

解决方法

加一个时间变量来让每次的src都不一样

代码修改如下:

// 这种方式,谷歌和火狐都能成功刷新
ImageCodeSrc = BASE_URL + "/login/captcha.jpg?d=" + new Date().getTime()

现在每次刷新都传递了不同的参数,火狐浏览器才会认为img的src发生变化,然后重新生产验证码。

相关推荐