2012-02-24 53 views
0

這是我的流程如何工作。用戶點擊鏈接 - 「找到」,並顯示使用ajax的頁面。我使用pushState添加歷史記錄。然後,用戶點擊next查看第2頁的結果(使用ajax),然後再次添加推送狀態。所以,當用戶返回時,這可以很好地工作。但是,我的問題是,說用戶是在結果的第2頁,並點擊一個常規鏈接(我沒有ajax電話)。他被帶到一個新的頁面,但是當他點擊後,他不會被帶到第2頁的結果頁面,而是進入最初的搜索頁面。問題與常規鏈接和使用pushstate和popstate

這是正常的行爲嗎?或者可以做些什麼?

回答

1

聽起來像你的搜索/結果頁面加載時沒有正確更新其狀態。當你從「常規頁面」返回時,「ajax頁面」被重新加載並因此失去其狀態。您必須手動恢復狀態(例如,讀取url並執行相應的ajax)。

+0

發生的情況是地址欄顯示/ result /?index = 20並立即變爲/ result /?index = 0 !! (我每頁顯示20個結果) – John 2012-02-24 13:31:05

+0

當您通過輸入地址而不是使用後退按鈕進入/ result /?index = 20時會發生什麼? – jholster 2012-02-24 13:40:16

+0

同樣的結果!去看看/結果/?指數= 0 – John 2012-02-24 14:09:44