如何在不重新加载页面的情况下更改页面 url

Posted

技术标签:

【中文标题】如何在不重新加载页面的情况下更改页面 url【英文标题】:How to change the page url without reloading the page 【发布时间】:2020-04-20 16:27:39 【问题描述】:

我想知道如何在不重新加载页面更改页面内容的情况下更改页面URL。 我已经使用了该代码(JavaScript):

if(history.pushState)
  window.history.pushState("object or string", "Title", "/");
else
  document.location.href = "/";

但它并不适用于所有浏览器,并且 Firefox 将其标记为 insecure。 有没有其他方法可以在 JavaScript/jQuery/.htaccess/HTML 元标记

编辑:(1):我想要一个不使用window.history.pushState的答案(2): strong> 这些答案无济于事: how to chage url without redirect in javascript? , How do I modify the URL without reloading the page?

【问题讨论】:

这能回答你的问题吗? how to chage url without redirect in javascript? 不,没有 你检查过这个吗? ***.com/questions/824349/… 我想要一些不包含 window.history.pushState 的东西,因为它不安全 【参考方案1】:

如果您想更改 url 但不想将此条目附加到浏览器历史记录中,可以使用 html5 replaceState:

if(window.history.replaceState)
   window.history.replaceState(STATEDATA, TITLE, URL);

【讨论】:

以上是关于如何在不重新加载页面的情况下更改页面 url的主要内容,如果未能解决你的问题,请参考以下文章

如何在不更改 javascript 中的 URL 的情况下重新加载当前页面一次?

Facebook 如何在不重新加载页面或使用 # 或的情况下更改浏览器地址栏中的 URL?

如何在不重新加载页面的情况下从 FF Web 扩展内容脚本更改 3rd 方网站上的 Angular 应用程序路由/URL

如何在不重新加载的情况下修改 URL 查询字符串

如何在不重新加载页面的情况下更改内容? [复制]

Backbone.js 在不重新加载页面的情况下更改 url