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