onClick="this.src=this.src+'?'+Math.random()"
缓存破解:通过添加随机查询参数(如?0.123456)强制浏览器重新请求。请再用最通俗的最让人容易明白的说法解释一下这个代码
这个代码就像给验证码图片装了个"强制刷新按钮",原理很简单:
浏览器的小毛病
浏览器会偷懒,如果图片地址不变,它会直接显示缓存里的旧图片(不重新下载)我们的对策
每次点击时,给图片地址后面加个随机数尾巴
比如:verify.php→verify.php?0.123→verify.php?0.456对浏览器来说,每次都是"新地址",必须重新下载
实际效果
就像不断给快递员换收货码(虽然送的还是验证码),迫使他每次都得跑腿拿新货为什么用随机数?
用时间戳也可以,但随机数更简单,且足够让浏览器认为这是"新请求"
本质上就是通过"假装换地址"来骗浏览器放弃使用缓存。