通过HTML5事件中的hasChange事件,我们可以知道URL什么时候发生了变化。
通过状态管理API,可以在不加载新页面的情况下改变浏览器的URL。为此,我们可以使用history.pushState(状态对象,新状态标题,相对URL),执行该方法后,创建的新状态信息会push进历史状态栈,地址栏会变成新的相对URL。但是浏览器不会真的向服务器发送请求。
使用”后退”按钮,会触发window对象的popState事件,popState事件的事件对象有个state属性,指的是当前状态的状态对象。
更新当前状态,history.replaceState(状态对象,新状态标题)。该方法不会在历史状态栈创建新的状态,只会重写当前状态