还是实现了九月的想法,现在坐在了新公司。兜兜转转还是回到了出发的城市,人生短短几十年,总是要多经历一些,才不算白来吧。
今天是我工作的第二个周,当了一个周的工具人,今后在哪个组搬砖,现在差不多也定下来了。在熟悉项目的过程中,遇到了history.pushstate这个东东,也就是接下来的主角。(好了我不废话了,再废话怕要被打了,保住狗头要紧)
history.pushstate
作用:可以无刷新的改变地址栏,并且通过传入的state记录历史。
语法:history.pushstate(state,title[,url])
- state:一个与指定网址相关的状态对象,popstate事件触发时,该对象会传入回调函数。如果不需要这个对象,此处可以填null。
- title:新页面的标题,但是所有浏览器目前都忽略这个值,因此这里可以填null。
- url:新的网址,必须与当前页面处在同一个域。浏览器的地址栏将显示这个网址。
注:
replaceState方法,与pushState方法相同,主要用于改变当前历史记录中记录的当前页面的state对象和url信息。
区别:
pushState()可以创建历史,可以配合popstate事件,而replaceState()则是替换掉当前的URL,不会产生历史。
参考链接:
https://developer.mozilla.org/zh-CN/docs/Web/API/History/pushState
https://zhuanlan.zhihu.com/p/35036172
https://blog.csdn.net/qq_35410544/article/details/82916870