【问题标题】:How to change browser address bar without reloading page - HTML/Javascript [duplicate]如何在不重新加载页面的情况下更改浏览器地址栏 - HTML/Javascript [重复]
【发布时间】:2011-08-02 05:58:28
【问题描述】:

可能重复:
How does GitHub change the URL but not the reload?

大家好,

我注意到 Github.com 在浏览存储库时并不强制用户下载网页,而是使用 AJAX 来刷新页面内容。

Github 还将浏览器地址栏更改为代表内容的真实地址。如果不是在 url 中使用 # hashtags,我不知道如何实现这一点。


简而言之: github 使用 ajax 加载新网页,而不使用主题标签。他们是如何做到这一点的?


有什么想法吗?

【问题讨论】:

  • HTML5 History API 正是您所寻找的。​​span>

标签: javascript jquery html ajax


【解决方案1】:

通过使用:

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

这是 HTML 5 中的新功能。

您的 url 将更改为 newUrl 而无需重新加载页面。

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

【解决方案2】:

看看HTML5 history api。如果您打算使用它,获取一个包装它的库,甚至可能添加一个回退到位置哈希值将是一个好主意。

https://github.com/browserstate/history.js 一眼看上去还不错。

【讨论】:

    猜你喜欢
    • 2015-02-14
    • 1970-01-01
    • 2014-01-15
    • 1970-01-01
    • 2011-10-11
    • 2012-11-05
    • 2013-10-12
    • 1970-01-01
    • 2011-10-27
    相关资源
    最近更新 更多