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

时间:2010-02-02 22:28:05

标签: javascript browser

window.location.reload()
history.go(0)
window.location.href=window.location.href

我注意到一个网站评论说,所有这三种方法都可用于重新加载页面。不满足于信任它,我尝试了IE8,FF3和Opera 10中的所有3种方法。我注意到firefox执行了缓存重新加载而不是对history.go(0)的真正重新加载,但是没有看到任何差异。但是,我想我会在这里向社区询问他们在这些方法之间的区别。

1 个答案:

答案 0 :(得分:10)

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

关于history.go(0),我们使用的是历史对象,因此浏览器可能会使用页面的缓存版本,存储在内存中的某个位置。