如何让浏览器导航到 JavaScript 中的 URL

IT技术 javascript browser navigation
2021-01-22 09:03:29

让 Web 浏览器使用 JavaScript 导航到您选择的 URL 的最佳(正确、现代、跨浏览器、安全)方法是什么?

3个回答

这适用于所有浏览器:

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

如果您想更改页面而不反映在浏览器的历史记录中,您可以执行以下操作:

window.location.replace('...');
如果您想避免重新加载整个页面(尽管这在技术上不会被视为导航),请查看 history.pushState 和 history.replaceState。
2021-03-21 09:03:29
您还应该提到window.location.assign('...'),它在功能上等同于window.location.href = '...'.
2021-03-30 09:03:29
如果要模拟单击链接,请使用location.href 如果要模拟 HTTP 重定向,请使用location.replace 注意location.replace不会在会话历史记录中保留原始页面。
2021-03-31 09:03:29
使用window.location = '...'是一个代名词window.location.href = '...'-从window.location的API
2021-04-09 09:03:29

试试这些:

  1. window.location.href = 'http://www.google.com';
  2. window.location.assign("http://www.w3schools.com");
  3. window.location = 'http://www.google.com';

有关更多信息,请参阅此链接:使用 JavaScript 重新加载页面的其他方法

如果它解释了三者之间的区别,这个答案会更有帮助。另外,请参阅stackoverflow.com/help/how-to-answer上的“提供链接的上下文” ,因为该链接也不提供更多信息。
2021-03-13 09:03:29
location.assign 在我的情况下工作,谢谢:)
2021-03-27 09:03:29
如果您将 TestCafe 与 Node.js 一起使用,那么您还可以执行以下操作: await t.navigateTo('http://www.google.com');
2021-03-30 09:03:29
有没有办法在任何这些或类似的调用后等待页面完全加载?例如,如果我在 Chrome 控制台中运行它,只有最后一页(谷歌)真正加载 window.location.href = ' google.com '; window.location.assign(" w3schools.com" ); window.location = ' google.com ';
2021-03-31 09:03:29
@OrBetzalel,我相信分配功能确实将当前地址保存在浏览器的历史记录中(当然,这可能因浏览器而异)。请参阅developer.mozilla.org/en-US/docs/Web/API/Location 上的讨论,其中解释说window.location.replace()不会在历史记录中保存当前地址,但没有提及window.location.assign(). 在我自己使用 Chrome(截至 2019 年 10 月的当前 Mac 版本)进行的测试中,window.location.assign()确实将当前地址保存在浏览器的历史记录中。
2021-03-28 09:03:29
很好的文档,但它说分配功能不会在历史记录中保存当前地址,这是需要考虑的事情。没有正确或不正确的方法,取决于程序员的需要
2021-04-09 09:03:29