网站制作学习网经验与学习→正文:解决firefox点击验证码不变化
字体:

解决firefox点击验证码不变化

经验与学习 2010/2/23 17:14:06  点击:不统计

本文原载于www.forasp.cn
在做网站中经常使用验证码,其实也很简单,直接用session()记录,然后在页面上面通过.asp或者.php显示验证码,点击验证码更换依次,但是在显示验证码时,不同浏览器之间出了问题,在火狐firefox等浏览器下,点击验证码不变化
开始设置的验证码如下:
<img src="function/yanzhengma.php" onclick="document.getElementById('yzm').src='function/yanzhengma.php';" name="yzm" width="90" height="30" align="absmiddle" id="yzm" />
在IE浏览器下可以实现点击验证码,然后自动更换验证码.但是在火狐或者IE7+就不行,查了很多网站也不行,后来,看到一个网站上采用变化参数的方式能够实现.
看下面代码
function get_img()
{
 var id= Math.round((Math.random()) * 100000000);
 document.getElementById('yzm').src='function/yanzhengma.php?id='+id;
}
<img src="function/yanzhengma.php" onclick="get_img();" name="yzm" width="90" height="30" align="absmiddle" id="yzm" />
这样就可以实现点击验证码变化.到底是什么原因呢?
上面的代码加了一个参数,也就是随机变量id,每次点击加载图片的文件代码就会有不同的变量,当变量不同时,浏览器会认为是新的文件加载.
本人认为,在火狐,IE7+以上的浏览器中好像有"文件加载完毕,不再加载"这样的机制,我是猜测,不知道是不是.因为当同样的文件参数不同时,浏览器会重新加载,当参数相同时,浏览器不会再次加载.

上面便解决了firefox点击验证码不变化的bug吧.

%77w%77%2E%66%6F%72%61%73%70%2E%63%6E

·上一篇:工信部新规个人网站备案新规定 >>    ·下一篇:如何在IE里实现最小高度 >>
推荐文章
最新文章