Web API 之 — History API

本文详细介绍了前端开发中的History API,包括后退和前进操作、增加和修改历史记录,以及整体梳理History API的各个属性和方法。History API在不刷新页面的情况下改变URL,常用于前端路由系统。通过pushState和replaceState方法配合popstate事件,可以实现单页面应用的路由管理。同时,文章提到了scrollRestoration属性对浏览器滚动行为的控制。
摘要由CSDN通过智能技术生成

History API 允许我们用 js 来操作和访问用户的会话历史记录。在前端路由系统中,History 被广泛使用(对于不支持 History 的老 ie,可以使用 hashchange 事件处理)。History API 都是一些简单好用的功能,没有复杂的功能,知识点也少,今天就来温习一下这组 API。

后退和前进

先来学习两个基本 api。

history.back() // 顾名思义,回退到前一个历史点。和浏览器中 回退 按钮一个效果
history.forward() // 顾名思义,前进到下一个历史点。和浏览器中 前进 按钮一个效果

如果要移动到指定的历史记录点,需要使用 go()方法。此方法需要传一个整数数字参数,表示相对当前记录点位置。如果是0,表示跳转到当前记录点,也就是刷新当前页面。同理有以下等效关系:

history.go(-1) // 和 history.back() 一个效果
history.go(1) // 和 history.forward() 一个效果

history.go() // 如果不指定参数,和 history.go(0) 一个效果

增加和修改历史记录

History 除了前面的基本用法外,还提供了更强大的功能,可以增加和修改历史记录,对应的方法分别是 pushState()replaceState()。这两个方法都可以在改变页面 url 的情况下不刷新页面。同时通常这两个方法会配合 window

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值