代码之家  ›  专栏  ›  技术社区  ›  Brian

重新加载页面的方法之间的差异

  •  10
  • Brian  · 技术社区  · 14 年前
    window.location.reload()
    history.go(0)
    window.location.href=window.location.href
    

    我注意到一个网站评论说,这三种方法都可以用来重新加载一个页面。不满足于信任它,我尝试了IE8、FF3和Opera10中的所有3种方法。我注意到firefox对history.go(0)执行了缓存重新加载,而不是真正的重新加载,但在其他方面没有发现差异。不过,我想我应该问问这里的社区,他们知道这些方法之间有什么不同。

    1 回复  |  直到 14 年前
        1
  •  10
  •   Rafael    14 年前

    window.location.reload()和window.location.href=window.location.href的主要区别是,如果存在,第一个将重新发送post数据(浏览器将询问您是否要重新加载页面并重新发送数据),第二个将只更改url而忽略任何post数据。

    关于history.go(0),我们使用的是history对象,因此浏览器可以使用存储在内存中的缓存版本的页面。