FireFox,IE7点击图片刷新验证码bug的解决
2008-09-18 21:08
369 查看
现在做的这个网站用到了动态生成验证码的功能。并且点击动态生成的验证码图片要重新生成新的验证码。
我的生成验证码的servlet是imms/securityNum.genpic则在需要验证码的页面可以这么调用
我这里的ReloadCode函数是重新生成验证码的javascript函数,其内容如下(我使用了jquery):
驗證碼: <input class="input_login" name="___securityNumCookie_"
type="text" size=11 maxlength="4" />
<img src="/imms/securityNum.genpic" width="52" height="20" name="numImg"></img>
测试的时候发现,在ie6下点击验证码图片可以生成新的验证码,但是在ie7,firefox下点击图片的时候都没有反应。
上网查了下资料,发现别人也碰到过类似的问题,初步猜测是ie7,firefox的缓存机制和ie6不同。由于js指定的src与原来图片的src相同,因此ie7,firefox不刷新验证码。解决的方法是为imms/securityNum.genpic页面传递一个参数就可以了。代码如下:
Today = new Date();
var NowHour = Today.getHours();
var NowMinute = Today.getMinutes();
var NowSecond = Today.getSeconds();
var mysec = (NowHour*3600)+(NowMinute*60)+NowSecond; //弄個時間做參數傳過去。
alert("驗證碼不正確,請重新輸入!");
document.login.mypretime.value=0;
alert(mysec);
document.getElementById("numImg").src="/imms/securityNum.genpic?temptime="+mysec;
由于传递了不同的参数,浏览器认为img的src发生了改变,因此重新生成了新的验证码。
(修改)
在用jfreechart生成圖片時也是用<img src="xxx.xxxx"/>,也導致IE7緩存不會重新請求生成新的圖片。
本來一開始就以為是IE的問題,可是沒想到台灣的IE6也會出現這樣的問題,和IE7一樣。
後來還是這個問題。
其實加個Math.random()就搞定了。
document.getElementById("numImg").src="/imms/securityNum.genpic?temptime="+Math.random();
搞定了。
我的生成验证码的servlet是imms/securityNum.genpic则在需要验证码的页面可以这么调用
我这里的ReloadCode函数是重新生成验证码的javascript函数,其内容如下(我使用了jquery):
驗證碼: <input class="input_login" name="___securityNumCookie_"
type="text" size=11 maxlength="4" />
<img src="/imms/securityNum.genpic" width="52" height="20" name="numImg"></img>
测试的时候发现,在ie6下点击验证码图片可以生成新的验证码,但是在ie7,firefox下点击图片的时候都没有反应。
上网查了下资料,发现别人也碰到过类似的问题,初步猜测是ie7,firefox的缓存机制和ie6不同。由于js指定的src与原来图片的src相同,因此ie7,firefox不刷新验证码。解决的方法是为imms/securityNum.genpic页面传递一个参数就可以了。代码如下:
Today = new Date();
var NowHour = Today.getHours();
var NowMinute = Today.getMinutes();
var NowSecond = Today.getSeconds();
var mysec = (NowHour*3600)+(NowMinute*60)+NowSecond; //弄個時間做參數傳過去。
alert("驗證碼不正確,請重新輸入!");
document.login.mypretime.value=0;
alert(mysec);
document.getElementById("numImg").src="/imms/securityNum.genpic?temptime="+mysec;
由于传递了不同的参数,浏览器认为img的src发生了改变,因此重新生成了新的验证码。
(修改)
在用jfreechart生成圖片時也是用<img src="xxx.xxxx"/>,也導致IE7緩存不會重新請求生成新的圖片。
本來一開始就以為是IE的問題,可是沒想到台灣的IE6也會出現這樣的問題,和IE7一樣。
後來還是這個問題。
其實加個Math.random()就搞定了。
document.getElementById("numImg").src="/imms/securityNum.genpic?temptime="+Math.random();
搞定了。
相关文章推荐
- FireFox,IE7点击图片刷新验证码bug的解决
- IE7,FireFox点击图片刷新验证码bug的解决
- js点击图片实现验证码刷新操作
- firefox php 验证码图片 多次请求问题 待解决
- J2EE如何生成验证码图片和点击刷新验证码
- 如何点击验证码刷新验证码的问题解决方法?
- J2EE如何生成验证码图片和点击刷新验证码
- IE7和IE8下验证码自动刷新失败的问题及解决方法
- JavaScript 在ie6 ie7 ie8和Firefox下bug兼容解决记录(包含部分CSS )
- J2EE如何生成验证码图片和点击刷新验证码
- 结合php验证码图片生成实现点击刷新
- 解决Firefox3,IE7,IE8上传图片预览.txt
- js——点击验证码图片进行刷新验证码
- CSS 和JavaScript 在ie6 ie7 ie8和Firefox下bug兼容解决记录
- 如何点击验证码刷新验证码的问题解决方法?
- FireFox和Chrome下验证码不刷新的解决方法
- 验证码图片不刷新解决方法
- css 和javascript 在ie6 ie7 ie8和Firefox下bug兼容解决记录
- 关于网页验证码图片点击刷新的实现
- js实现点击验证码无刷新重新加载验证码图片