JavaScript如何获取浏览器历史记录中的当前位置?

javascript如何获取浏览器历史记录中的当前位置?

了解浏览器历史记录中的当前位置

假设你正处于如下浏览历史记录中:

A. 首页
B. 页面
C. 当前页面

当你触发 history.back 时,你将回到页面 b。问题是:如何从 javascript 中得知你当前在历史记录中的位置(即 2)?

使用 javascript 检测当前位置

以下方法可以使用,但存在兼容性问题:

监听 popstate 事件

这种方法需要手动维护一个历史栈,仅适用于单页应用。

使用 navigation api

navigation api 提供了 navigation.entries() 方法,它返回一个历史记录项数组。然而,这种方法的兼容性也较差。

兼容性

使用 popstate 事件或 navigation api 的兼容性如下:

浏览器 popstate navigation api
chrome 支持 支持
firefox 支持 支持
safari 支持 不支持
edge 支持 不支持
ie 不支持 不支持

以上就是JavaScript如何获取浏览器历史记录中的当前位置?的详细内容,更多请关注硕下网其它相关文章!