【问题标题】:Loading History.js state after back button from other page从其他页面返回按钮后加载 History.js 状态
【发布时间】:2012-01-31 15:11:51
【问题描述】:

我正在尝试使用History.js 来跟踪已使用 Javascript 操作的 ui 状态。目的是让用户想要回到页面(在通过链接访问系统中的其他页面之后)以他们离开的状态。

为此,我为popstate 绑定事件,如下所示:

History.Adapter.bind(window, 'popstate', function () {
    var History = window.History;
    var State = History.getState();
    LoadState(State, true);
});

这在大多数浏览器中运行良好,同时仍在页面中导航,但只有 Chrome 似乎在从另一个页面返回页面时触发了该事件。我也试过绑定statechange,但它似乎只在页面内导航时触发,而不是在“回载”页面时触发。

我是否正确假设有一种方法可以在返回页面时触发事件?如果有,怎么做?

【问题讨论】:

    标签: javascript history.js


    【解决方案1】:

    找到了解决这个问题的方法,就是声明history.navigationMode = 'compatible'

    这在从另一个页面返回页面后加载页面时也会触发就绪事件。从那里开始,就可以像往常一样检索历史对象并加载它。

    【讨论】:

    • 这可以在 Opera 以外的浏览器中使用吗?据我所知,只有 Opera 支持 navigationMode 属性。
    • 我从未在 Opera 中实际尝试过,但它在 Firefox 和 Chrome 中触发了我想要的行为。
    猜你喜欢
    • 2013-10-13
    • 2020-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多