在日常工作中常用的页面刷新方式的区别:
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),都会更新数据,对于文档更新与否上面已经解释过了。