在日常开发中,我们有时需要更新地址栏URL,但不想刷新页面,此时我们可以使用History
对象中的两个函数History.replaceState()
以及History.pushState()
。
两者的区别在于前者不会在浏览器历史中留下记录,replaceState
顾名思义是替换当前的url状态,用户点击后退按钮,不会回到替换前的url,后者则会在浏览器历史中留下记录。
这两个函数的签名一模一样。
// 主要用到的是第三个参数url
history.replaceState(state, title, url);