我已经阅读了关于 Stack Overflow 的几个问题/答案并用 Google 搜索了这个问题,我似乎无法得到 event.state
除了 null
之外的任何东西。
我知道它不能与 jQuery 事件一起使用,但是当我做这样的事情时:
window.onpopstate = function (e) {
console.log(e.state)
}
与 jQuery.ajax 成功调用类似
history.pushState({ lastUrl: data.State }, data.Title, data.UrlKey);
Chrome (v19) 或 Firefox (v12) 都不会返回空值吗?我错过了什么吗?它只是没有完全实施吗?
原文由 mihok 发布,翻译遵循 CC BY-SA 4.0 许可协议
e.state
指的是被推送的倒数第二个状态。您需要至少两次推送状态e.state
而不是null
。这是因为您应该在第一次加载站点时保存状态,此后每次更改状态时都应保存状态。