【发布时间】:2010-10-25 09:01:52
【问题描述】:
如何在不重新加载页面的情况下使用 jQuery 更改 URL?
【问题讨论】:
-
更改是指完整的新url还是在现有url中添加一些参数?
-
是的,你到底想达到什么目的?
标签: javascript jquery
如何在不重新加载页面的情况下使用 jQuery 更改 URL?
【问题讨论】:
标签: javascript jquery
设置location.hash
jQuery 与它无关,这是基本的 DOM 0。
【讨论】:
您只能通过location.hash 更改网址的哈希部分而无需刷新页面。
添加 get 参数 (?foo=bar) 或完整的 url 更改将始终重新加载页面。
在 HTML5 中,您可以获得更多更改 URL 的选项,但现在(2010 年)它还不可行,因为糟糕的浏览器很难消亡。
【讨论】:
一般来说,抛开新的HTML history API,你不能。
可以在散列后向 URL 添加数据(使用 location.hash,正如 David Dorward 所描述的那样)。但是,如果您想这样做来影响页面的行为,您还需要通过 jQuery 读取这些更改(或由设置哈希的同一进程触发。)
在 History API 之外,您将无法添加参数,并且页面“只知道”。
【讨论】: