让页面进行刷新,可以使用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 健的效果是完全一样。