url的hash和HTML5的history改变

前端路由的核心是改变url,但页面不进行整体的刷新
如何实现?

一. url的hash

  1. 在控制台输入location.hash=''
    在这里插入图片描述
  2. url改变在这里插入图片描述
  3. 没有重新启动资源在这里插入图片描述

二. HTML5的history

  1. history.pushState

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里的history.pushState,类似于栈结构在这里插入图片描述
特点是先进后出
栈结构只有一个口子,先进去的在最下面,最后出来。最后进去的在第一个,最先出来。

在这里插入图片描述当多次修改,也是按照先进后出原则,eee在最上面显示在这里插入图片描述
可以点击页面左上角的后退符号,浏览器页面会依次后退在这里插入图片描述在这里插入图片描述
2. history.back()
history.back()作用和后退符一样,每次浏览器页面后退一个
在这里插入图片描述在这里插入图片描述
3. history.forward()
作用和history.back()相反,是浏览器页面前进 一个
在这里插入图片描述
在这里插入图片描述4. history.go()
可以传入数字在这里插入图片描述在这里插入图片描述history.back()等价于history.go(-1)
history.forward()等价于history.go(1)

  1. history.replaceState
    替换之前的url,不能进行返回和前后跳转在这里插入图片描述
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值