在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()调用?
答案 0 :(得分:0)
也许尝试将你的ajax调用绑定状态更改
History.Adapter.bind(window,'statechange',function(){
var State = History.getState();
//Do ajax call here...
});
这应该保留内容,因此当您向前或向后导航时,容器将具有旧值。