使用jQuery更改URL而不重新加载页面

如何在不重新加载页面的情况下使用jQuery更改URL?

设置location.hash

jQuery与它无关,这是基本的DOM 0。

您只能通过location.hash更改url的哈希部分而不刷新页面。 添加get参数( ?foo=bar )或完整的url更改将始终重新加载页面。

在HTML5中,您可以获得更多更改URL的选项,但是现在(2010年)它还不可行,因为糟糕的浏览器很难消失。

通常,不考虑新的HTML历史API 。

可以在散列后将数据添加到URL(使用location.hash David Dorward描述的location.hash )。 但是,如果要执行此操作以影响页面的行为,则还需要通过jQuery读取这些更改(或由设置哈希的相同进程触发)。

在History API之外,您将无法添加参数,并且页面“只需了解它”。