【问题标题】:JavaScript change address bar with new URL without reloading the pageJavaScript 使用新 URL 更改地址栏而不重新加载页面
【发布时间】:2020-06-20 20:25:20
【问题描述】:

我需要一些帮助。 我想更改地址栏内容,但我需要替换整个地址,包括 www.site.com/(domain)

我尝试一下:

window.history.pushState("object or string", "Title", "new-url");

但没有成功。请帮忙?

谢谢

【问题讨论】:

  • 我认为你应该使用 replaceState
  • 您不能使用 History API 将 URL 更改为另一个域的 URL。
  • 使用角度路由器功能
  • @HarshKanakhara 你在哪里看到使用 Angular 的 OP?

标签: javascript html


【解决方案1】:

history.pushState api 只允许您修改同一origin 内的url,即<scheme> "://" <hostname> [ ":" <port> ]pushState api 将允许您修改路径、查询参数和 url 片段。您无法修改原点的原因是因为Same-origin Policy,它保证了一个原点不会干扰另一个原点。该政策的存在是为了在网络上提供安全保证,例如将恶意 JavaScript 限制在单一来源,使其不会影响其他网站。

【讨论】:

  • 这不是我的问题的解决方案,我仍然无法更改地址内容?你的意思是这是不可能的?
  • 如果不进行重定向,您只能更改路径、查询参数和片段。不进行重定向就无法更改原点。
猜你喜欢
  • 2011-03-21
  • 2016-06-08
  • 2012-08-23
  • 2012-06-12
  • 2016-04-12
  • 2012-11-05
  • 1970-01-01
相关资源
最近更新 更多