HTML5历史api: window.history.back()丢失history.state

HTML5 history api: window.history.back() loses history.state

本文关键字:history 丢失 state back HTML5 api window 历史      更新时间:2023-09-26

我正在使用html5历史api,我有一个带有类别的选择框,当类别改变时,我将id推送到历史状态:

// ....
if (newValue) 
{
  history.pushState({ selectedCategoryId: newValue }, "Blog Posts");
}

当我离开页面并按下浏览器返回按钮时,类别id仍然在历史记录中。状态,但是当我点击这个链接:

<a href="#" onclick="window.history.back();">← Go back</a>

那么状态不被保留,当我使用这个时也是如此:

<a href="#" onclick="window.history.go(-1);">← Go back</a>

它不工作,我做错了什么?我在Windows 10上使用IE11

好了,经过一天的编程,我回想起这个问题,突然我想到# in href基本上是一个空哈希,可能覆盖状态。

所以我删除了href="#",现在它工作了!