网站开发 · 2024年12月3日

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

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

本篇文章主要是结合我之前面试的各种经历和实战开发中遇到的问题解决经验整理的,希望这篇《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 不支持 不支持

今天带大家了解了的相关知识,希望对你有所帮助;关于文章的技术知识我们会一点点深入介绍,欢迎大家关注米云公众号,一起学习编程~

Vue3 项目中,如何调试没有提供调用指南的 npm 包?