history.js:如何管理后退按钮

时间:2012-11-28 12:49:51

标签: jquery html5 back history.js

在html5历史api中,使用history.js我正在尝试实现ajax导航,使用jquery将html内容附加到容器div。

它可以更改页面,但是当我按下浏览器中的后退按钮时,它只会更改地址栏中的usr,但页面保持不变。

/* SETUP HISTORY JS */
var History = window.History;
var State = History.getState();

// Log Initial State
//History.log('initial:', State.data, State.title, State.url);

// Bind to State Change
History.Adapter.bind(window,'statechange',function(){
    var State = History.getState();
});
/* END SETUP HISTORY JS */

点击链接我定义link_title_ link_href和文件的ajaxurl,所以我在ajax中获取其内容并更新历史记录:

// CHANGING THE PAGES
$.get(''+ajax_url,function(data) {
    $('#container').append(''+data); //LOAD THE PAGE
    History.pushState({state:''+link_href,rand:Math.random()}, link_title, link_href);
}

我想用旧的html值刷新#container内容,我是否需要获取状态并执行另一个get()调用?

1 个答案:

答案 0 :(得分:0)

也许尝试将你的ajax调用绑定状态更改

History.Adapter.bind(window,'statechange',function(){
var State = History.getState();
//Do ajax call here...
});

这应该保留内容,因此当您向前或向后导航时,容器将具有旧值。