如何更改浏览器地址栏,而无需重新加载页面 – HTML / Javascript
可能重复:
GitHub如何改变URL而不是重新加载?
嗨伙计,
我注意到,Github.com不会强制用户在浏览存储库时下载网页,而是使用AJAX来刷新页面内容。
Github还将浏览器地址栏更改为代表内容的实际地址。 我不知道如何实现这一点,如果不是通过使用#中的#井号标签。
简而言之: github使用ajax加载新的网页,而不使用井号标签。 他们如何做到这一点?
有任何想法吗?
通过使用:
window.history.pushState("string", "Title", "newUrl");
这是HTML 5中的新function。
您的url将更改为newUrl而无需重新加载页面。
注意:方法中的标题arg不会改变html页面的标题。 这是用来命名浏览器历史logging中的页面,当你回去然后继续。
看看HTML5的历史api 。 如果你打算使用它,得到一个图书馆包装它,甚至可能增加一个回退到位置哈希将是一个好主意。