如何根据网页内容变换网址但不必重新加载网页?

本文介绍了如何使用JavaScript中的window.history.replaceState和pushState方法在不重新加载网页的情况下改变网址。replaceState用于修改当前历史记录条目的URL,而pushState则会在历史记录中新增一个条目。这两个技巧对于实现页面URL动态更新和浏览历史管理非常有用。
摘要由CSDN通过智能技术生成


自从 AJAX问世之后,由于节省带宽、提升网页回应速度的效果显著,被大量采用,甚至发展出了 SPA,但是这样反而出现了一个副作用,就是我们无法将网页最终呈现的结果通过URL分享出去,不利于 SEO,我们就来看一下,怎么在都是用非同步请求获取网页内容的情况下,变换网址。

window.history.replaceState

如果我们想要单纯地转换目前网址列中的网址,可以使用window.history.replaceState() 这个方法,我们可以通过这个方法去改变网址列上的网址,他有三个参数:

  • state object: 是一个跟浏览历史记录有关的JavaScript物件,可以凭借window.history.state去的目前的state object,或是在window.onpopstate的事件中也会取得与触发该事件的相关历史浏览记录的 state object
  • title:用来描述state object的标题
  • URL:历史浏览记录的URL
    在这里插入图片描述

window.history.pushState

window.history.pushState 跟window.history.replaceState()使用方式是一样的,差

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值