主要目的是实现无刷新切换页面
H5引入了history.pushState()和history.replaceState()这两个方法,他们允许添加和修改history实体。同时,这些方法会和window.onpostate事件一起工作。
pushState方法用一个新的url取代当前页面的url并把当前页面的url存进历史记录,replaceState只用新url取代当前页面的url,但是不把当前页面的url存进历史记录
pushState()有三个参数:state对象,标题字符串(现在没有浏览器支持),URL字符串(可选,如果为空,设置为当前页面的url)
只有前进后退可以触发popstate事件,对于不是通过pushState,replaceState两个方法产生的url,state对象为空