JS控制页面只刷新一次!!一次!!!!

让页面进行刷新,可以使用location.reload()方法,但是这种方法会让页面一直不断的刷新,这是因为当页面加载完成以后,我们让它刷新一次,那么浏览器就会重新向服务器请求数据,界面会重新加载,然后,加载完成又调用了location.reload()方法,这样就陷入了死循环,一直处于请求然后刷新的状态。
为了解决这样的问题,我们使用下面这种方式:

window.onload=function (){reloadPage();}
//自动刷新一次页面
function reloadPage() {
	 if(location.href.indexOf('#reloaded')==-1){ //判断是否有刷新标记
		    location.href=location.href+"#reloaded";//没有添加标记
		    location.reload();//刷新
}
}

利用以上方法,在每次进入这个页面的时候,都会绕过浏览器缓存,重新向服务器获取数据。

window.location.reload()

如果该方法没有规定参数,或者参数是 false它就会用 HTTP 头 If-Modified-Since 来检测服务器上的文档是否已改变。如果文档已改变,reload() 会再次下载该文档。如果文档未改变,则该方法将从缓存中装载文档。这与用户单击浏览器的刷新按钮的效果是完全一样的。
如果把该方法的参数设置为 true,那么无论文档的最后修改日期是什么,它都会绕过缓存从服务器上重新下载该文档。这与用户在单击浏览器的刷新按钮时按住 Shift 健的效果是完全一样。

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值