【问题标题】:history.js: how to manage back buttonhistory.js:如何管理后退按钮
【发布时间】:2012-11-28 12:49:51
【问题描述】:

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

【问题讨论】:

标签: jquery html back history.js


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-13
    • 2012-01-02
    • 1970-01-01
    • 2011-12-18
    相关资源
    最近更新 更多