如何准确获取浏览器历史记录中当前页面的位置?

如何准确获取浏览器历史记录中当前页面的位置?

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

要确定当前页面在浏览器历史记录栈中的位置,需要了解以下要点:

1. 始终返回历史栈长度

console.log(history.length) // ❌ 始终返回历史栈长度

2. 监听 popstate 事件

在单页应用中,可以通过监听 popstate 事件,并手动维护一个历史栈,来得知当前页面位置。

3. 使用 navigation api

navigation api (en-us) 提供了 entries() 方法,可以获取当前页面在历史记录中的位置,但兼容性较差。

console.log(navigation.entries())

兼容性

浏览器 兼容性
chrome 良好
firefox 仅部分支持
safari 不支持
edge 良好

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