javascript修改IMG标签的SRC实现验证码时,IE6/chrome正常,火狐和IE8出状况
原文:http://windandstorm.iteye.com/blog/730920
1.当点击某一按钮的时候,把图片域中的图片改变一下
<img id="randimg" src="/servlet/CreateValidateNum" width="60" height="20" />
<span style="cursor:hand" onclick="reflush();return false;">看不清</span>
<script>
function reflush()
{
document.getElementById(randimg).src="/servlet/CreateValidateNum";
}
</script>
2.说明
”servlet/CreateValidateNum“是JAVA写的servlet。该servlet是打印出图片
3.出现的问题
在IE6下面图片修改正常,但在IE7和Firefox下面却不刷新
4.情况分析
如果新的图片跟旧的图片地址不一样,效果是会出来的。即:图片有发生改变。
但像”验证码“这种功能。新旧图片的地址是一样的。
鉴于上述情况,怀疑有可能是因为图片地址是一样的,而导致浏览器自动读缓存。
5.解决方法
把javascript改成这样即可:
document.getElementById(randimg).src="/servlet/CreateValidateNum?"+Math.random();
即:每次的访问地址都不一样,因为有加随机数。所以问题解决