小编Per*_*ost的帖子

当使用相同的location.href(或空)推送时,为什么window.onpopstate上的event.state为空

在不更改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)

我怎样才能解决这个问题,为什么会这样呢?

javascript html5-history

10
推荐指数
1
解决办法
540
查看次数

标签 统计

html5-history ×1

javascript ×1