我正在尝试使用历史记录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数组保留在窗口历史记录中,因为我的状态始终为空。