使用jQuery更改URL而不重新加载页面
只能通过location.hash
更改网址的哈希部分而不刷新页面。 添加获取参数(?foo=bar
)或完整的URL更改将始终重新加载页面。
在HTML5中,你得到更多的选项来改变URL的,但现在(2010年),因为蹩脚的浏览器消亡硬它尚未可行的。
这不再是严格的事实。查看HTML5历史API:https://developer.mozilla.org/en/DOM/Manipulating_the_browser_history#Adding_and_modifying_history_entries – DanSingerman 2010-10-25 09:07:25
@DanSingerman这不适用于IE7/8,因此仍然不可行。尽管如此,我还是希望它能成为现实,但我现在还不能将我的武器装备在它上面。 – BGerrissen 2010-10-25 09:09:48
-1:一个fragmentidentifier(或散列)是URL的“真实”部分,可以从javascript进行更改。所以,“你可以” – 2010-10-25 09:10:06
一般来说,撇开新HTML history API,你不能。
这是可能的哈希(使用location.hash
作为戴维·多沃德描述)之后将数据添加到URL。但是,如果您想要这样做来影响页面的行为,您还需要通过jQuery读取这些更改(或者由设置哈希的相同进程触发)。
在历史API之外,您不会能够添加一个参数,并让页面“知道它”。
更改是指完整的新网址或添加一些参数到现有的网址? – 2010-10-25 09:04:03
是的,你究竟想达到什么目的? – DanSingerman 2010-10-25 09:05:12