在不更改URL的情况下推送到历史记录和设置数据:
window.history.pushState({
stateName: "myStateName",
randomData: window.Math.random()
}, "myStateName", location.href);
Run Code Online (Sandbox Code Playgroud)
....然后通过按浏览器中的Back按钮来听pop事件并触发它:
window.onpopstate = function(event) {
console.log(event.state); //logs null
}
Run Code Online (Sandbox Code Playgroud)
您将在大多数情况下将null作为状态值而不是:
{
stateName: "myStateName",
randomData: 0.34234234234
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个问题,为什么会这样呢?