改变url但是不刷新页面的实现

本文探讨了URL的hash以及HTML5的history接口。URL的hash用于页面内部定位,改变hash不会导致页面刷新。HTML5的history模式包括pushState、replaceState和go方法,允许在不刷新页面的情况下修改URL。history.back()、forward()分别对应浏览器的后退和前进操作。这些API为前端路由提供了强大的支持。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

URL的hash

URL的hash也就是锚点(#), 本质上是改变window.location的href属性.
我们可以通过直接赋值location.hash来改变href, 但是页面不发生刷新

首先打开浏览器的按F12打开 开发者工具
在这里插入图片描述
在这里插入图片描述

HTML5的history模式

history接口是HTML5新增的, 它有五种模式改变URL而不刷新页面.
1.history.pushState()
在这里插入图片描述

2.HTML5的history模式:replaceState
在这里插入图片描述
3.HTML5的history模式:go
在这里插入图片描述
当然 有go(-1) 就可以有go(-2)

在这里插入图片描述
在这里插入图片描述
补充说明:
上面只演示了三个方法
因为 history.back() 等价于 history.go(-1)
history.forward() 则等价于 history.go(1)
这三个接口等同于浏览器界面的前进后退。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值