javascript中的历史记录API是什么_如何管理浏览器的历史状态

admin 百科 14
History API 是实现 SPA 前进/后退体验的核心技术,含 pushState(添加记录)、replaceState(替换当前记录)及 popstate 事件监听,要求同源、state 可序列化且大小受限,刷新后需手动恢复状态。

javascript中的历史记录API是什么_如何管理浏览器的历史状态-第1张图片-佛山资讯网

JavaScript 中的历史记录 API(History API)是一组用于操作浏览器会话历史的接口,允许你在不刷新页面的前提下修改 URL、添加新记录或跳转到已有状态,是实现单页应用(SPA)中“前进/后退”体验的核心技术。

history.pushState():添加新历史记录

它向浏览器历史栈中插入一条新记录,同时更新地址栏 URL(但不触发页面加载),常用于路由切换时保留用户浏览痕迹。

  • 语法:history.pushState(state, title, url)
  • state:一个可序列化的对象,随该记录一起保存,后续通过 popstate 事件获取
  • title:目前大多数浏览器忽略该参数,传空字符串 "" 即可
  • url:相对路径或绝对路径,必须同源,否则抛错;例如 "./user/123""/search?q=js"

示例:history.pushState({page: "user", id: 123}, "", "/user/123");

history.replaceState():替换当前历史记录

pushState 类似,但它不新增记录,而是直接替换当前历史项。适合更新 URL 但不想让用户多按一次“后退”才能离开当前页的场景,比如表单筛选条件变化时更新地址栏。

立即学习“Java免费学习笔记(深入)”;

标签: javascript java js go seo 浏览器 路由 win 跨域

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~