无刷新跳转—关于history中pushState和replaceState方法详解

90 篇文章 0 订阅

〝 古人学问遗无力,少壮功夫老始成 〞

**关于history中pushState和replaceState方法详解,**常码字不易,出精品更难,没有特别幸运,那么请先特别努力,别因为懒惰而失败,还矫情地将原因归于自己倒霉。你必须特别努力,才能显得毫不费力。如果这篇文章能给你带来一点帮助,希望给飞兔小哥哥一键三连,表示支持,谢谢各位小伙伴们。

目录

一、方法作用

二、参数详解

三、两者相同点

四、两者不同点


一、方法作用

  • HTML5新接口,可以改变网址而不刷新页面
  • 存在跨域问题,不支持重写到另一个域名下
  • 仅改变网址,网页不会真的跳转,也不会获取到新的内容,本质上网页还停留在原页面

二、参数详解

  • window.history.pushState( data, title, url )
  • data 状态对象:传给目标路由的信息,可为空
  • title页面标题:目前所有浏览器都不支持,填空字符串即可
  • url可选url:目标url,不会检查url是否存在,且不能跨域。如不传该项,即给当前url添加data

  • window.history.replaceState( data, title, url )
  • data 状态对象:传给目标路由的信息,可为空
  • title页面标题:目前所有浏览器都不支持,填空字符串即可
  • url可选url:目标url,不会检查url是否存在,且不能跨域。如不传该项,即给当前url添加data
  • 类似于pushState,但是会直接替换掉当前url,而不会在history中留下记录

三、两者相同点

  • 都可以无刷新修改url
  • 都不支持跨域,也就是不支持修改成其他域名的记录
  • 比如我在百度域名下,想将c站的域名放进历史记录

四、两者不同点

  • 是否会留下记录,这句话的意思就是说改了url后,是否可以通过back回撤
  • pushState因为留下记录,所以可以回撤
  • replaceState因为未留下记录,所以无法返回

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值