function reloadImage(url)
{
document.getElementById("img1").src = url+Math.random();//增加 t 参数时解决IE8不刷新
}
<img src="./image.jsp" id="img1" width="60" height="20" align="absmiddle">
<a href="javascript:reloadImage('./image.jsp?t=');"> 看不清?</a>
原因在于从ie7起,firefox的缓存机制和ie6不同:由于js指定的src与原来图片的src相同,因此从ie7起,firefox不刷新验证码。 解决办法就是在后边加个参数 Math.random()。
由于Math.random()每次随机生成的数据不同,向code.asp传递了不同的参数,浏览器认为img的src发生了改变,因此重新生成了新的验证码。