您好!欢迎访问家园网-www.jy.wang!

家园网

PHP验证码onClick="this.src=this.src+'?'+Math.random()"

网络 作者:本站 点击:

PHP验证码onClick="this.src=this.src+'?'+Math.random()"

这段代码是用于在点击图片验证码时更新验证码的,其中this.src指的是当前点击的图片的URL,'?'+Math.random()是用于生成一个随机数,确保每次请求的URL都是唯一的,防止浏览器缓存。


解释:

this指向当前点击的DOM元素,这里是图片。

this.src获取当前图片的src属性。

this.src+'?'拼接当前的图片URL。

Math.random()生成一个0到1之间的随机数,不包括0和1。

+''将随机数转换成字符串,因为URL是字符串。

最终生成的是类似?0.5623462346234623这样的字符串,作为URL参数,防止浏览器缓存。


解决方案:

如果你想在点击验证码图片时更新验证码,你可以将这段代码应用在你的图片元素上。

示例代码:

<img src="captcha.php" onclick="this.src=this.src+'?'+Math.random();" alt="captcha" />

这段代码放在你的HTML中,当用户点击图片时,就会触发onclick事件,更新图片的URL,从而刷新验证码。


一开始看到这个代码很困惑表示不知道为什么要在this.src后面加上问号,还要加上一个Math.random来生成随机数字。后来才领悟了原来这张图片的原来属性是src,onclick触发函数即点击一次后可能变成src?0.3之类再点击一次变成src?0.3?0.5以此类推。为什么要这样做是因为每次生成图片前端代码会偷懒把src属性的图片放到缓存里面,如果再点击一次发现还是src属性于是网页就会把之前的图片拿出来,所以无法完成点击一次换一次图片。有了这样一个代码就可以实现每次都是不同的属性值去请求verify.php这个文件啦,就是每次都是不同的验证码图片哦。

标签: