前言:如果想在不刷新页面的情况下改变url,可以使用HTML5窗口对象的hashChange事件。还介绍了两个相关的API和1个事件。两个API:1.history.pushState({name:'blog'},'','blog.html');此API将向历史状态堆栈添加一条记录。“前进”和“后退”按钮已启用并触发popstate事件。接受3个参数:第一个:详细的状态信息。提供给popstate事件的事件对象的状态属性(event.state);第二种:新状态的标题,目前浏览器没有实现,可以传空字符串;第三个:相对url。(如果传入地址是绝对地址,请求不能跨域,否则浏览器会报错)2.对面是另一个apihistory.repalceState({name:'blog'},'','blog.html');参数和这个pushState是一样的,唯一不同的是api不会往历史状态栈中添加记录,只会重置当前状态。事件窗口对象的popstate事件,在按下“前进”和“后退”按钮时触发。提示:当使用pushState创建“假”url时,请确保在网络服务器上有一个与之对应的真实url。否则刷新页面时会报404错误。
