window.location.reload(false);window.location.reload(true);history.Go(0)区别

在日常工作中常用的页面刷新方式的区别: 
1 window.location.reload(false); 
  先说说window.location.reload(false);当我们window.location.reload();默认也是false
  它先会根据浏览器的http请求的头部 If-Modified-Since的值来判断在请求文件时文件是否发生变化,如果没有就从缓存中找到更新到页面。

  如果有form,会重新提交form表单

2 window.location.reload(true); 
  这个跟false的有区别,无论文档的修改时间是什么,或者有没有缓存,它都会从新在服务器端请求一次来更新到页面。

  如果有form,会重新提交form表单

3 history.Go(0) 
  先说说history,history就是你访问的页面跟路由的记录,它会实时更新到history里面去,当你history.go(xx),会根据记录的路由匹配对应的以及缓存好的页面,也就是说所有的history都是调用已经被缓存的页面。

4 window.location.href = window.location.href 

  相当于重新请求url。

  如果有form,不会提交form数据

最后再说说浏览器的左上角返回箭头按钮 
它的作用是返回上个页面,但是返回后页面的数据也就是并不会更新,文档也不更新。

注:window.location.reload(),window.location.reload(true),history.Go(0),都会更新数据,对于文档更新与否上面已经解释过了。

猜你喜欢

转载自www.cnblogs.com/FineDay/p/9223804.html