日期:2014-05-16  浏览次数:20338 次

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();
    即:每次的访问地址都不一样,因为有加随机数。所以问题解决