如何替换页面url_如何修改url而不刷新页面

在实际的开发工作中可能会有如下需求:

需要更改url,但是又不需要页面重新加载。类似于各大单页应用框架的路由实现。

首页,有两种方式可以实现更改url而不刷新页面。

  1. hash 散列值
location.hash = '#hash'
// 更改URL的hash值会在浏览器的历史记录中增加一条新的记录,且不会触发浏览器的刷新。

2. pushState | replaceState 状态管理API

  • pushState,可以将一个新的状态信息推到历史记录中
  • replaceState,可以更新当前历史状态信息
history.pushState({}, 'new title', 'new host') 
// 可以将new host(同一个域下的地址)推到当前历史栈顶部,且不会触发页面重新加载。
// replaceState类似,但是是替换当前历史状态信息
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值