2012-11-12 46 views
0

我正在開發一些單頁功能,並且我正在使用window.location.hash在刷新後重建頁面。使用window.location.hash瀏覽多個參數

基本上我有一個簡單的菜單如下:

<a href = "#user">User</a> 
<a href = "#comment">Comment List</a> 

當在評論列表按鏈接瀏覽器網址將成爲:

myapp.com/#comment 

在此頁面上有刪除調用某些AJAX功能的鏈接刪除評論:

<a href = "#remove" class = "rmv-comment" data-id = "${commentId}">Remove Comment</a> 

當按下刪除評論鏈接瀏覽器網址將成爲:

myapp.com/#remove 

這是因爲現在我無法重建在刷新舊頁面是不是非常有幫助。 (該#comment哈希不存在,因此一些默認頁面將顯示)

我正在尋找一種方式來建立一個網址,如:

myapp.com/#comment/#remove 

我嘗試追加不同的字符(如\? )到#comment,但沒有運氣。提前致謝。

回答

1

在現代瀏覽器中,你只能使用一個哈希符號

而不是myapp.com/#comment/#remove你可以使用這樣的事情:

myapp.com/comment/remove 

更改URL無需重新加載頁面使用window.history對象:

window.history.pushState("", "Title", "/remove"); 
window.history.pushState("", "Title", "/comment/remove"); 
+0

感謝您的迴應!據我所知,這意味着我必須將JS函數附加到每個鏈接上嗎? – Ionut

+0

不一定。您的服務器可以處理網址(如路由)。所以,如果你不需要在某些頁面上更改網址,那麼你不必在他們身上使用JavaScript –

+0

你只能創建一個頁面,JavaScript會處理網址 –