如何使用 JavaScript 重新加载页面

IT技术 javascript
2021-01-29 08:37:40

如何使用 JavaScript 重新加载页面?

我需要一种适用于所有浏览器的方法。

6个回答

JavaScript 1.2

window.location.reload();
// If we needed to force the document to be fetched from the
// web server again (such as where the document contents
// change dynamically but cache control headers are not
// configured properly), Firefox supports a non-standard
// parameter that can be set to true to bypass the cache:
//window.location.reload(true);

JavaScript 1.1

window.location.replace(window.location.pathname + window.location.search + window.location.hash);
// does not create a history entry

JavaScript 1.0

window.location.href = window.location.pathname + window.location.search + window.location.hash;
// creates a history entry
看起来location.reload(forceReload: boolean)现在已弃用(仅true/false 参数),但它可能仍然有效。
2021-04-04 08:37:40
location.reload();

有关更多信息,请参阅此MDN 页面

如果您在之后刷新,onclick则需要在之后直接返回 false

location.reload();
return false;
我更喜欢使用window.location.reload();可读性,因为它location可能是一个局部变量 - 而你通常会避免使用 name 变量window
2021-03-11 08:37:40
@Rimian - 恕我直言,return false;在处理程序中不是绝对必要的:不reload取代任何进一步的处理吗?
2021-03-15 08:37:40
@ShivanRaptor通常没有,在网络浏览器方面,location相同window.locationwindow是全局对象。
2021-03-23 08:37:40
之间有什么区别location.reload()window.location.reload()
2021-03-30 08:37:40
为什么你需要在之后返回 false ?
2021-03-31 08:37:40

我一直在寻找有关使用 POST 请求检索的页面上重新加载的一些信息,例如在提交method="post"表单之后。

要重新加载保留 POST 数据的页面,请使用:

window.location.reload();

要重新加载页面并丢弃 POST 数据(执行 GET 请求),请使用:

window.location.href = window.location.href;

希望这可以帮助其他人寻找相同的信息。

window.location.href = window.location.href如果当前 url 包含#. 如果你不需要它,你可以删除它window.location.href = window.location.href.split('#')[0];
2021-03-26 08:37:40
GETPOST方法的区别
2021-03-30 08:37:40
感谢您的回答,包括重新加载随POST请求检索的文档的参考
2021-04-05 08:37:40

您可以使用 执行此任务window.location.reload();因为有很多方法可以做到这一点,但我认为这是使用 JavaScript 重新加载相同文档的合适方法。这是解释

window.location可以使用JavaScript对象

  • 获取当前页面地址(URL)
  • 将浏览器重定向到另一个页面
  • 重新加载同一页面

window: 在 JavaScript 中代表浏览器中打开的窗口。

location: 在 JavaScript 中保存有关当前 URL 的信息。

location对象是像的片段window对象,并通过调用window.location属性。

location 对象有三个方法:

  1. assign(): 用于加载新文档
  2. reload(): 用于重新加载当前文档
  3. replace(): 用于用新文件替换当前文件

所以这里我们需要使用reload(),因为它可以帮助我们重新加载同一个文档。

所以像window.location.reload();.

jsfiddle 在线演示

要让浏览器直接从服务器而不是从缓存中检索页面,您可以将true参数传递location.reload(). 此方法兼容所有主流浏览器,包括 IE、Chrome、Firefox、Safari、Opera。

啊哈! replace()结果是我正在寻找的解决方案,因为我需要在查询字符串中稍作更改后重新加载我的页面。
2021-04-04 08:37:40
来自 w3schools:“assign() 和 replace() 的区别在于,replace() 从文档历史记录中删除了当前文档的 URL,这意味着无法使用“后退”按钮导航回原始文件。”
2021-04-06 08:37:40

尝试:

window.location.reload(true);

设置为“true”的参数会从服务器重新加载新副本。离开它将从缓存中提供页面。

更多信息可以在MSDNMozilla 文档中找到

不推荐使用第二个 ( true ) 参数
2021-03-11 08:37:40
这仍然是真的吗?这两个链接都没有提到重新加载的任何参数。
2021-03-17 08:37:40
@Orane:我特别喜欢这个答案的简单性和足智多谋,因为提供了许多选项来满足操作员的查询,也就是说,感谢您在这种情况下也提供权威参考链接,以供将来作为每个浏览器参考有自己的 JS 引擎来渲染……我认为这个问题很笼统,它应该取决于你想要做什么,因为否则网络参考:“ phpied.com/files/location-location/location- location.html " 可能完全满足这个问题的操作。然而,这个帮助了我;)
2021-03-22 08:37:40
@Dev:您应该尝试使用稍后提到的“替换”
2021-04-05 08:37:40
如果我想刷新外部网页 www.xyz.com/abc 怎么办?
2021-04-07 08:37:40