pushState
-
在历史记录中增加一条新的记录
- pushState() 方法不会触发页面刷新,只是导致History对象发生变化,地址栏会有反应。使用该方法之后,就可以用Histroy.state属性读出状态对象。
- 如果pushState的URL参数设置一个新的锚点值(Hash),并不会触发hashchang事件。反过来,如果URL的锚点值发生变了,则会在History对象创建一条浏览记录
- 使用 history.pushState() 会改变 referrer 的值,而在你调用方法后创建的 XMLHttpRequest 对象会在 HTTP 请求头中使用这个值。referrer的值则是创建 XMLHttpRequest 对象时所处的窗口的URL。
-
参数
- state:与要跳转到的URL对应的状态信息
- title:可以不传
- url:要跳转到的URL地址,
不能跨域
replaceState
- 将当前的历史记录给替换掉
- History.replaceState()方法用来修改 History 对象的当前记录,其他都与pushState()方法一模一样。