刷新的方式

js刷新方式:

1 history.go(0) 

是直接读取缓存数据,不会从服务器端获取数据

2 location.reload() 

是会从服务端获取数据的

location.reload(true)时,相当于强制刷新
location.reload(false)时,刷新,但可以引用缓存的数据。

3 location=location(兼容所有的)

window.location.href 是本页面跳转

window.top.location.href是最外层的页面跳转

4 location.assign(location) 

window.location.assign(url) : 加载 URL 指定的新的 HTML 文档。 就相当于一个链接,跳转到指定的url,当前页面会转为新页面内容,可以点击后退返回上一个页面。

5 document.execCommand('Refresh')  

执行命令,刷新当前文档
6 window.navigate(location) 

window.navigate("http://ww.baidu.com/") 这个方法是只针对IE的,不适用于火狐等其他浏览器,

7 location.replace(location) 

replace() 方法不会在 History 对象中生成一个新的记录。当使用该方法时,新的 URL 将覆盖 History 对象中的当前记录。

8 document.URL=location.href 

你只可以读取document.URL的值,不能修改它。windows.location.href的值你即可以读取也可以修改。

浏览器刷新方式

1、url+enter或者a标签的超链接点击

服务器返回304,浏览器直接读取的缓存的数据。这里只需要在 response.setHeader(‘Cache-Control’, ‘public, max-age=3600’); //缓存一小时

url+enter或者a标签的超链接点击这种刷新方法chrome和火狐表现一致,对于请求还在有效期内的缓存资源会直接从缓存中返回,否则则会带上If-None-Match/If-None-Match参数访问服务器判断是否需要更新缓存。

2、F5刷新/ctrl+R刷新/按钮刷新

服务器会根据Etag或者Last-Modified来判断缓存是否需要更新,如果不需要更新,就会返回304告诉浏览器它的缓存还能用,并

给缓存续期,需要更新的话就返回最新的数据和新的Etag/Last-Modified,并且更新浏览器缓存

3、ctrl+F5刷新/ctrl+shift+R刷新

强制刷新!

4. 后退刷新

后退刷新主要指的是那些设置了页面强行不缓存的网站

*window.open(url,name);允许多传入一个打开页面的名字进去,如果不是第一次打开这个页面了(name相同)那么这个方法就只会返回生成页面的一个引用)。
有这个引用我们就可以达到刷新的要求了,
*定时器里加上引用.location.href=url等等。这个方法很多,我就不仔细bb了,
原文地址:https://www.cnblogs.com/xiaolanschool/p/9187180.html