HTML4中的History API
history這個東西大家應該都不陌生,我們經常使用history.back(-1)來實現后退功能,具體的屬性和方法如下:
屬性
length 歷史的項數。JavaScript 所能管到的歷史被限制在用瀏覽器的“前進”“后退”鍵可以去到的范圍。本屬性返回的是“前進”和“后退”兩個按鍵之下包含的地址數的和。
方法
back() 后退,跟按下“后退”鍵是等效的。
forward() 前進,跟按下“前進”鍵是等效的。
go() 用法:history.go(x);在歷史的范圍內去到指定的一個地址。如果 x < 0,則后退 x 個地址,如果 x > 0,則前進 x 個地址,如果 x == 0,則刷新現在打開的網頁。history.go(0) 跟 location.reload() 是等效的。
HTML5中的History API
history.pushState(data, title [, url]):往歷史記錄堆棧頂部添加一條記錄;data會在onpopstate事件觸發時作為參數傳遞過去;title為頁面標題,當前所有瀏覽器都會忽略此參數;url為頁面地址,可選,缺省為當前頁地址。
history.replaceState(data, title [, url]) :更改當前的歷史記錄,參數同上。
history.state:用於存儲以上方法的data數據,不同瀏覽器的讀寫權限不一樣。
參考:
http://www.clanfei.com/2012/09/1646.html
http://www.cnblogs.com/tugenhua0707/p/3612488.html
后話:
其實加載數據還是利用ajax。只不過可以動態設置地址欄地址。
先打個點,后續再深入使用實踐。