2009-10-26 66 views
4

我正在爲一個項目構建一系列基本的手風琴。Jquery更新瀏覽器位置,不要重定向

我們希望它們具有靜態的可鏈接頁面。因此,我們也爲每個打開狀態創建了不同的頁面。

例如,

/whoweare是主滑塊。

但我們必須位於副滑動 /whoweare/whatwedo

什麼我期待做的是,當用戶點擊/頭whoweare,滑塊打開,地址欄更新到/ whoweare/whatwedo,但沒有實際的重定向。網址的位置應該簡單地改變,僅此而已。

我使用

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

嘗試,但似乎並沒有已經完成了我想要的東西,但它仍然重新加載到一個新的一頁。

其他建議?

+0

[更改瀏覽器的地址欄,而無需刷新]的可能重複(http://stackoverflow.com/questions/352343/changing-瀏覽器地址欄無需刷新) – 2011-09-04 13:19:30

回答

11

您不能在沒有重定向的情況下更改網址 - 這將成爲一種網絡釣魚噩夢(例如,在網上釣魚站點上將網址更改爲銀行網址)。

您只能操作文檔散列 - 即http://domain.com/#identifier - 這就是Google,Facebook等向AJAX網站提供瀏覽器歷史記錄支持的方式。

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

更新: HTML5現在允許pushState,但只在同一個域內。

+0

感謝此, 我只需要解決它。 – Paul 2009-10-26 18:40:30