2011-03-22 116 views
4

我知道這裏有一堆話題,但根據我在其他話題中閱讀的內容,我無法確定該做什麼。瀏覽器後退按鈕Ajax

我有一個頁面「abc.php」。用戶可以執行搜索,然後用2個Ajax請求填充表單。然後,如果用戶導航到另一個頁面,然後單擊BACK返回到「abc.php」,則表單內容不完整,因爲ajax沒有運行。有沒有辦法做到這一點?

回答

4

修改您的網址,當你通過散列後將該搜索項有做AJAX(例如http://example.com/search.php#search-terms-here

然後加載頁面時,閱讀搜索字詞從URL後面。

1

This是一個非常好的文章/教程啓用後退按鈕使用jQuery。

1

使用history.js,下面的函數「聽」到地址欄的變化,並調用一個函數來加載相應的頁面:

History.Adapter.bind(window,'statechange',function(){ 
    var State = History.getState(); 
    page(State.url); 
}); 

function page(url) { 
    //AJAX 
} 

現在,只要您想更改的頁面,您撥打:

History.pushState({state:X}, "Page Title", "Page Url"); 

這將更新瀏覽器的url欄,並自動調用頁面(State.url)爲新的url;和所有的瀏覽器功能,如向前/後退按鈕,書籤等應該工作。