1. HTML4时代的history APIhtml
A) history.length:当前历史列表中的历史记录数(我大概测了下,IE6+是从0开始的,其余的是从1开始的,如有误请反馈哈,^_^);
B) history.go(n):前进或后退n条记录,当n=0或空时会刷新当前页;
C) history.back():后退一步;
D) history.forward():前进一步;html5
2. HTML5新增的API
A) history.pushState(data, title [, url]):往历史记录堆栈顶部添加一条记录;data会在onpopstate事件触发时做为参数传递过去;title为页面标题,当前全部浏览器都会 忽略此参数;url为页面地址,可选,缺省为当前页地址;
B) history.replaceState(data, title [, url]) :更改当前的历史记录,参数同上;
C) history.state:用于存储以上方法的data数据,不一样浏览器的读写权限不同;
D) window.onpopstate:响应pushState或replaceState的调用;ajax
主要写html5的api。api
当前活动历史项改变时会触发window.onpopstate事件,例如history.go(1),history.back(),history.forward()或者手动点击前进后退。浏览器
history.pushState history.replaceState的调用并不会触发window.onpopstate事件。wordpress
而后能够见window.onpopstate事件中作出相应的更改来更新ajax载入,达到刷新页面的结果。url
能够参考的博客:http://www.zhangxinxu.com/wordpress/2013/06/html5-history-api-pushstate-replacestate-ajax/spa