Answers:
如果我没记错的话,请window.location.reload()
使用POST数据重新加载当前页面,但window.location.href=window.location.href
不包括POST数据。
如@ W3Max在下面的注释中所指出的,window.location.href=window.location.href
如果URL中有锚点(#),则不会重新加载页面- window.location.reload()
在这种情况下,您必须使用。
另外,正如下面的@Mic所指出的那样,window.location.reload()
它接受一个附加参数,skipCache
以便使用window.location.reload(true)
浏览器将跳过缓存并从服务器重新加载页面。window.location.reload(false)
将执行相反的操作,并在可能的情况下从缓存加载页面。
如果您说window.location.reload(true)
浏览器将跳过缓存并从服务器重新加载页面。window.location.reload(false)
相反。
注:default
为值window.location.reload()
ISfalse
window.location.href = window.location.href
了技巧。
location.reload()
location.reload(false)
location.reload(true)
区别在于
window.location = document.URL;
如果网址中包含井号(#)(后面有或没有东西),则不会重新加载页面,而
window.location.reload();
将重新加载页面。
location.href = location.href
是理所当然的,但是我只是注意到了确切的行为,于是来到SO进行宣传。只需使用location.reload()
。
window.location.replace(window.location.pathname);
如果将布尔值true添加到重新加载
window.location.reload(true)
,它将从服务器加载。
目前尚不清楚如何支持这个布尔是,W3Org提到NS 用来支持它
window.location.href和document.URL的内容之间可能存在差异-至少过去location.href与与重定向有关的非标准和弃用的document.location之间存在差异,但是确实是上个千年。
出于文档目的,我将使用window.location.reload(),因为这是您想要执行的操作。
遇到这个问题,研究了IE中的某些异常行为,特别是IE9,没有检查较旧的版本。它似乎
window.location.reload();
导致刷新,使整个屏幕空白一秒钟,其中
window.location = document.URL;
刷新页面更快,几乎没有察觉。
进行更多的研究,并对fiddler进行一些试验,window.location.reload()
无论您是否传递布尔值,似乎都会绕过缓存并从服务器重新加载,这包括获取所有资产(图像,脚本,样式表,等)。因此,如果您只希望页面刷新HTML,window.location = document.URL
则返回的速度会更快,流量也更少。
浏览器之间的行为差异是,当IE9使用reload方法时,它会清除可见页面并似乎从头开始对其进行重建,其中FF和chrome等待直到获得新资产并重新构建它们(如果它们不同)。
使用JSF,我现在遇到会话过期后刷新的问题:页面重新加载后出现PrimeFaces ViewExpiredException,并进行了一些调查,发现FireFox有一个区别:
调用的window.location.reload()
工作方式类似于单击FF上的刷新图标,它会添加一行
Cache-Control max-age=0
设置的window.location.href
工作方式类似于在URL行中按ENTER,但不会发送该行。
尽管两者均以GET的形式发送,但第一个(重新加载)正在还原先前的数据,并且应用程序处于不一致状态。
在我们的情况下,我们只想在Webview中重新加载页面,由于某些原因,我们找不到原因!我们尝试了几乎所有已经存在于网络上的解决方案,但是没有使用location.reload()或window.location.reload(),location.reload(true)等替代解决方案进行重载!
这是我们的简单解决方案:
只需使用带有空“ href”属性值的<a>标记,如下所示:
< a href="" ...>Click Me</a>
(在某些情况下,您必须在点击目标时使用“返回真”来触发重新加载)
有关更多信息,请查看以下问题: 空的href有效吗?
window.location.href,这可以挽救我从Android 5.1在webview中的生命。在此版本中,该页面不会从Android重新加载location.reload()。