2013-03-04 32 views
0

我使用history.pushstate方法將歷史記錄添加到瀏覽器中,並在瀏覽器中添加如下歷史記錄。HTML5 history.pushState

 history.pushState("", "",myurl); 

歷史在瀏覽器中正確添加。(當瀏覽器歷史記錄點擊得到加載正確的頁面。)

但是,當我在瀏覽器中點擊後退按鈕,它不回去..

(即我使用hashchange功能來顯示頁面中的不同內容)。實際上,它需要再次點擊才能返回(即雙擊返回按鈕可返回歷史記錄中添加的上一頁)。

我怎樣才能讓它只返回一次點擊後退按鈕。

+0

這是一個使用HTML5歷史教程的SO問題:[使用HTML5 History API(Pushstate?)的好教程](http://stackoverflow.com/questions/4015613/good-tutorial-for-using-html5-歷史-API pushState的)。正如答案所提到的,你應該考慮使用['History.js'](https://github.com/balupton/History.js)。 – mc10 2013-03-04 05:37:04

回答

0

我找到了一個可行的解決方案如下。

使用replacestate代替pushstate解決了這個問題。

Pushstate添加歷史記錄,但不會指向堆棧頂部。因此,首先單擊載入歷史記錄中的同一頁面,然後在下一次單擊上一頁面時加載。

相關問題