2011-03-22 119 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;和所有的浏览器功能,如向前/后退按钮,书签等应该工作。