2012-07-12 33 views
3

我使用jQuery Mobile來製作我的網站的移動版本,並且有關於刷新緩存頁面的問題。 我有一個標題欄,並在其上放置了一個登錄按鈕。 如果用戶單擊按鈕併成功登錄,我用註銷按鈕替換登錄按鈕(在服務器端)。 問題是,如果我按下瀏覽器後退按鈕,登錄按鈕仍然顯示。 隨後加載(非緩存)頁面正確顯示註銷按鈕。jquery移動刷新標題欄

我假設這是因爲當我按回來,頁面來自緩存? 有沒有一種方法可以刷新標題欄,以便它也顯示緩存頁面上的註銷按鈕? 我不認爲我可以刷新整個頁面,因爲我不知道用戶在登錄之前訪問過哪些頁面。

回答

0

有多種選擇:

1)禁用頁面緩存(瀏覽器後退&前進按鈕):

$.mobile.hashListeningEnabled = false; 

2)創建活動抓住當前頁面名稱和比操縱頭: (類似...):

$("#PageName").live("pagebeforeshow", function (event, data) { 

    // get current URL 
    var pageName = $(location).attr("href").split("#")[1]; 

    // manipulate by the page name 
    if(pageName == XXX){ 

     Header.... 

    } 
}