pushState与replaceState
想要修改当前页面的 url,又不想刷新页面,首推 pushState与replaceState 这对姐妹花!
下面就来好好介绍一下它们俩:
特性
都属于 HTML5 的新特性,由于功能强大,可以做到改变 url 且不需要刷新页面,所以经常在单页应用中使用:vue-router, react-router-dom。
相同点
参数
- data(any):存储JSON字符串,可以用在popstate事件中;
- title(string):现在大多数浏览器不支持或者忽略这个参数;
- url?(string | null | undefined): 有效的URL,需要注意的是必须与当前页面处在同一个域。
不同点
- pushState:是在history栈中新建一个历史记录;
- replaceState:是在history栈中替换当前记录;