如何在不重新加载页面的情况下更改浏览器地址栏 - HTML / JavaScript

35

可能重复:
GitHub如何更改URL但不刷新页面?

大家好,

我发现Github.com不强制用户下载网页,而是使用AJAX来刷新页面内容。

Github还会更改浏览器地址栏的地址以表示内容的真实地址。但我不知道如果不使用#标签如何实现这一点。


简而言之: Github使用AJAX加载新页面,而不使用#号。他们是如何做到的?


有任何想法吗?


HTML5历史记录API就是你要找的。 - pimvdb
2个回答

48

通过使用:

window.history.pushState("string", "Title", "newUrl");

这是HTML 5中的新功能。

使用此方法后,您的URL将在不重新加载页面的情况下更改为newUrl。

注意:方法中的title参数不会更改HTML页面的标题。它用于在浏览器历史记录中命名页面,以防您返回然后前进。


FYI:https://developer.mozilla.org/zh-CN/docs/Web/Guide/API/DOM/Manipulating_the_browser_history - user216084

10

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接