Jquery更新浏览器位置,不重定向

时间:2009-10-26 18:24:52

标签: jquery browser replace location

我正在为一个项目建立一系列基本手风琴。

我们希望他们拥有静态的可链接页面。所以我们也为每个开放状态创建了不同的页面。

例如,

/ whoweare是主要的滑块。

但我们有一个子滑块位于 / whoweare / whatwedo

我要做的是,当用户点击/ whoweare上的标题时,滑块会打开,并且网址栏会更新为/ whoweare / whatwedo,但是没有实际的重定向。网址应该只是改变,仅此而已。

我尝试过使用

window.location.replace($(this).attr('href'));
return false;

但这似乎没有完成我想要的,它仍然会重新加载到新页面。

还有其他建议吗?

2 个答案:

答案 0 :(得分:11)

您无法在不重定向的情况下更改网址 - 这可能是网络钓鱼的噩梦(例如,在网络钓鱼网站上将网址更改为银行网址)。

您只能操纵文档哈希值,即http://domain.com/#identifier - 这就是Google,Facebook等为AJAX网站提供浏览器历史记录支持的方式。

#352343 Changing browser’s address bar without refreshing的完全重复。

更新:HTML5现在允许pushState,但仅限于同一个域内。

答案 1 :(得分:0)