JavaScript和JavaScript的区别是什么

window.location.href = window.location.href

and

window.location.reload()

功能呢?


当前回答

区别在于

window.location = document.URL;

如果在URL中有一个散列(#)(后面有或没有一些东西),将不会重新加载页面,而

window.location.reload();

将重新加载页面。

其他回答

如果我没记错的话,window.location.reload()用POST数据重新加载当前页面,而window.location.href=window.location。href不包含POST数据。

正如@W3Max在下面的评论中所指出的那样,window.location.href=window.location. href。如果URL中有锚(#),href将不会重新加载页面-在这种情况下必须使用window.location.reload()。

同样,正如下面@Mic所指出的,window.location.reload()接受一个额外的参数skipCache,因此使用window.location.reload(true)浏览器将跳过缓存并从服务器重新加载页面。Window.location.reload (false)将做相反的事情,并在可能的情况下从缓存加载页面。

如果你说window.location.reload(true),浏览器将跳过缓存并从服务器重新加载页面。Window.location.reload (false)将做相反的事情。

注意:window.location.reload()的默认值为false

使用JSF,我现在有会话过期后刷新的问题:页面重新加载后的PrimeFaces ViewExpiredException和一些调查,我在FireFox中发现了一个不同:

调用window.location.reload()就像在FF上单击刷新图标一样,它会添加一行

cache - control信息= 0

当设置window.location.href工作时,就像在URL行中按ENTER键一样,它不会发送这一行。

虽然两者都作为GET发送,但第一个(重新加载)正在恢复以前的数据,应用程序处于不一致的状态。

不,不应该有。但是,可能在某些浏览器中存在差异,因此在某些情况下,任何一种(或两种)都不能工作。

区别在于

window.location = document.URL;

如果在URL中有一个散列(#)(后面有或没有一些东西),将不会重新加载页面,而

window.location.reload();

将重新加载页面。