这句javascript代码怎么理解呢? javascript:this.src=this.src '?time=' Math.random()
我是在做一个验证码刷新的页面。onClick事件用到了这句代码实现了刷新图片,但是不能理解是什么意思,特别是后面---'?time='Math.random()---希望...
我是在做一个验证码刷新的页面。onClick事件用到了这句代码实现了刷新图片,但是不能理解是什么意思,特别是后面---'?time=' Math.random()---希望大家不吝赐教。
展开
3个回答
展开全部
主要目的是防止浏览从缓存中加载该资源.
这里的Math.random()是JS的Math对象生成随机数的方法,该方法会返回一个0到1(不含1)之间的小数,每次调用该方法都会随机返回.
所以,上面的方法的目的就是使用一个新的参数重新请求当前资源,这样,浏览器会以为这是一个不同的资源,而不会从缓存中返回,这种情况最常见的就是验证码的刷新.
但你上面的语句有语法错误,少了字符串连接符,正确写法应为
javascript:this.src=this.src+'?time='+Math.random()
这里的Math.random()是JS的Math对象生成随机数的方法,该方法会返回一个0到1(不含1)之间的小数,每次调用该方法都会随机返回.
所以,上面的方法的目的就是使用一个新的参数重新请求当前资源,这样,浏览器会以为这是一个不同的资源,而不会从缓存中返回,这种情况最常见的就是验证码的刷新.
但你上面的语句有语法错误,少了字符串连接符,正确写法应为
javascript:this.src=this.src+'?time='+Math.random()
展开全部
Math.random()会返回一个0到1之间的随机数。
time=一个随机数后,链接地址src每次打开后就会是一个随机的src地址。
在url中添加无效的变量time后一般浏览器会忽略该变量,但有一个浏览器不一般,就是IE!
它解决的其实是IE的缓存问题,添加随机变量使url不同时,IE就会重新刷新缓存,否则IE会直接在缓存中提取数据,而不理会数据是否更新。
time=一个随机数后,链接地址src每次打开后就会是一个随机的src地址。
在url中添加无效的变量time后一般浏览器会忽略该变量,但有一个浏览器不一般,就是IE!
它解决的其实是IE的缓存问题,添加随机变量使url不同时,IE就会重新刷新缓存,否则IE会直接在缓存中提取数据,而不理会数据是否更新。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Math.random() 是生辰随机数的函数。
在地址后面加 ?time=Math。random()是防止页面缓存
在地址后面加 ?time=Math。random()是防止页面缓存
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询