上/下一頁API
往前往後歷史紀錄可以用 back(), forward(), 和 go() 的方法。
1 | window.history.back(); |
移置特定頁面
移動到特定的歷史紀錄
你可以用 go() 方法來從頁面的 session history 紀錄中載入特定紀錄,以目前頁面的相對位置而定(目前的頁面想當然爾是 index 0)。
1 | window.history.go(-1); |
其它
1 | var numberOfEntries = window.history.length; |
加入和修改歷史紀錄
pushState() 方法範例
1 | var stateObj = { foo: "bar" }; |
replaceState() 方法
1 | var stateObj = { foo: "bar" }; |
popstate 事件
1 | window.onpopstate = function(event) { |
這邊可以看到,第一頁面,state是null
,replaceState跟 location.replace 很像,上下一頁不會取代掉
小記
一開始我以為 HTML5 History API 很難,但是看 popstate 事件
,我就恍然大悟,大概知道要怎麼使用。簡單來說跟location.href
很像,但可以帶 state
和 改變 URL。透過popstate 事件
去操作畫面。
這邊看到還滿有趣的範例:重新認識 JavaScript 番外篇 (2) - 你所不知道的 pushState - iT 邦幫忙::一起幫忙解決難題,拯救 IT 人的一天