浏览器通过
但是,客户端代码如何确定当前页面位于历史记录中的哪个位置?例如,如果客户端访问页面 A、B 和 C,则历史记录将包含三个项目,并且当前历史记录项(或状态)将是页面 C。如果用户然后单击“返回”按钮,则当前页面现在为 B。但是,
更具体的问题是,我想确定自己是否位于历史记录中的第一项,以便显示一个“关闭”按钮,该按钮将关闭页面(假设
这似乎是一个奇怪的遗漏,即没有“当前索引”进入历史对象。
window.history
对象提供了客户端会话中访问的页面列表。借助此功能,客户端代码可以通过列表向前和向后导航(使用 history.back()
、history.forward()
和 history.go()
)。但是,客户端代码如何确定当前页面位于历史记录中的哪个位置?例如,如果客户端访问页面 A、B 和 C,则历史记录将包含三个项目,并且当前历史记录项(或状态)将是页面 C。如果用户然后单击“返回”按钮,则当前页面现在为 B。但是,
history.length
仍然为 3,反映了总共访问了三个页面的事实。我们如何确定客户端当前处于历史记录中的第二项?更具体的问题是,我想确定自己是否位于历史记录中的第一项,以便显示一个“关闭”按钮,该按钮将关闭页面(假设
window.opener
不为 null);在历史记录的任何其他位置,我都想显示一个“返回”按钮,该按钮将导航到上一页。这似乎是一个奇怪的遗漏,即没有“当前索引”进入历史对象。
注意:这类似于问题#12895940,但不同之处在于我只需要知道我是否位于历史记录的第一个位置。