0

在 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() 调用吗?

4

1 回答 1

0

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

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

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

于 2013-03-04T17:44:28.283 回答