2012-03-12 55 views
4

我們在url中使用散列來在應用程序中保持頁面狀態(即像聚焦標籤所示)。 Ala page.html#/tabs:foo/f-name:bar在頁面更改中保留url散列

當您在頁面上提交表單時,會出現一些不一致情況。 Chrome會使用哈希數據重新加載頁面。然而Firefox會回到網頁第一次加載時的網址。 (即如果你刷新一個散列,那個散列表粘在表單提交上)

根據規範行爲,哪個是'正確的',我們應該如何處理它?我們希望在頁面加載時保留這個url信息和頁面狀態。

是否有一個庫很好地處理這個問題,或者我應該只是將這些信息從臨時cookie中存儲/恢復出來?

+1

似乎與http://stackoverflow.com/questions/5283395/url-hash-is-persisting-between-redirects類似。 – mspanc 2012-11-25 15:53:57

回答

0

創建一個函數用於更改散列(而不是直接更改window.location.hash),並在該函數中遍歷頁面上的所有鏈接,刪除舊字符串並將參數附加爲新的散列,然後用參數更新document.location.hash。