可能重复:
GitHub如何更改URL但不刷新页面?
大家好,
我发现Github.com不强制用户下载网页,而是使用AJAX来刷新页面内容。
Github还会更改浏览器地址栏的地址以表示内容的真实地址。但我不知道如果不使用#标签如何实现这一点。
简而言之: Github使用AJAX加载新页面,而不使用#号。他们是如何做到的?
有任何想法吗?
可能重复:
GitHub如何更改URL但不刷新页面?
大家好,
我发现Github.com不强制用户下载网页,而是使用AJAX来刷新页面内容。
Github还会更改浏览器地址栏的地址以表示内容的真实地址。但我不知道如果不使用#标签如何实现这一点。
简而言之: Github使用AJAX加载新页面,而不使用#号。他们是如何做到的?
有任何想法吗?
通过使用:
window.history.pushState("string", "Title", "newUrl");
这是HTML 5中的新功能。
使用此方法后,您的URL将在不重新加载页面的情况下更改为newUrl。
注意:方法中的title参数不会更改HTML页面的标题。它用于在浏览器历史记录中命名页面,以防您返回然后前进。
请查看HTML5历史记录API。如果您打算使用它,建议获取一个包装它的库,甚至添加回退到位置哈希的功能。
https://github.com/browserstate/history.js从快速浏览中看起来还不错。