我知道有很多这方面的主题,但根据我在其他主题中所读到的内容,我无法确定要做什么。
我有一个页面“abc.php”。用户可以进行搜索,然后使用2个ajax请求填充表单。然后,如果用户导航到另一个页面,然后单击BACK到“abc.php”,则表单的内容不完整,因为ajax不会运行。有没有办法让这种情况发生?
答案 0 :(得分:4)
在执行ajax时修改您的网址,方法是在哈希之后添加搜索字词(例如http://example.com/search.php#search-terms-here
)
然后在加载页面时,从URL中读回搜索词。
答案 1 :(得分:1)
This是一篇关于使用jQuery启用后退按钮的非常好的文章/教程。
答案 2 :(得分: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");
这将更新浏览器的网址栏,并自动调用新网址的页面(State.url);以及所有浏览器功能,如前进/后退按钮,书签等......都应该有效。