使用History API / history.js管理浏览器历史记录

时间:2019-03-13 16:01:54

标签: browser browser-history history.js

我正在尝试使用历史记录API在asp.net应用程序中管理浏览器历史记录。用户可以依次浏览页面1> 2> 3> 4> 5等,然后使用“后退”按钮返回页面5> 4> 3> 2> 1。

在“后退”按钮中,我使用history.back()触发浏览器popstate事件。这是我的代码:

if (window.history && history.pushState) { // check for history api support
    window.addEventListener('load', function () {

        history.pushState({ mystate: true }, null, window.location.href);

        this.addEventListener('popstate', function (event) {
            // check history state and fire custom events
            console.log(history.state);
            console.log(event.state);
            history.go(-1);
        }, false);
    }, false);
}

状态对象始终为null。我尝试了以下解决方案: JS - window.history - Delete a state

但是我仍然无法将myHistory数组保留在窗口历史记录中,因为我的状态始终为空。

0 个答案:

没有答案