2012-01-31 45 views
2

我試圖使用History.js來跟蹤用Javascript處理過的用戶界面狀態。其目的是,用戶要回來的頁面,他們離開時的狀態(在訪問其他網頁中通過鏈接後系統)從其他頁面的後退按鈕加載History.js狀態

爲此,我綁定的事件popstate像這樣:

History.Adapter.bind(window, 'popstate', function() { 
    console.log("Popstate"); 
    var History = window.History; 
    var State = History.getState(); 
    LoadState(State, true); 
}); 

在大多數瀏覽器中都可以正常工作,但仍然可以在頁面中導航,但只有Chrome瀏覽器在從其他頁面返回頁面時似乎會觸發事件。我也試過綁定statechange,但它似乎只觸發頁內導航,而不是「回載」頁面。

我是否正確地假設回到頁面時有觸發事件的方法?如果是這樣,怎麼樣?

回答

1

找到一個解決這個問題,這是通過聲明history.navigationMode = 'compatible'

這使得準備事件觸發也從另一個頁面回去之後加載頁面時。從那裏開始,就可以像往常一樣檢索歷史對象並加載它。

+0

這是否適用於Opera以外的瀏覽器?據我所知,只有Opera支持'navigationMode'屬性。 – joanwolk 2012-07-12 13:09:27

+0

我從來沒有在Opera中嘗試過它,但它觸發了我想要的Firefox和Chrome的行爲。 – 2012-07-17 08:16:41

相關問題