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如何获取浏览器历史记录中的当前位置?的详细内容,更多请关注硕下网其它相关文章!