History APIの使処

 
Web Tips.
Booskanium's
Booskanium's Web Tips.

History API

window.historyはブラウザのタブでページを遷移した履歴の記録で、この履歴でブラウザの戻る・進むでページを戻ったり進んだりできる。

history APIといえば、
window.history.back(); 戻る
window.history.forward(); 進む
window.history.go(-1); 戻る
window.history.go(1); 進む
window.history.go(0); 現ページを再読み込み
window.history.go(); 現ページを再読み込み
です。
それ以外に今のhistory APIには、
window.history.pushState(); historyに追加
window.history.replaceState(); 現在ページのhistoryを置換
がある。
このメソッドの使処としては、例えば「SPA(Single Page Aplication)」での画面遷移の記録で活用できる。
これでSPAであっても画面遷移をブラウザの戻る・進むで利用できることになり、SPAでありがちな「戻れません」みないな不自然な使い勝手が回避できる。

事例1:ちゅんラヂ

ちゅんラヂはSPAの一種で、起動時以外はページ読み込みが発生しません。
それと、
・選局状態をURLフラグメント*1で表現し、historyに自発的に記録*2している
・ブラウザの戻る・進むで選局履歴の遷移ができている
これにより、利用者にとっては選局の履歴を戻ったり、進んだりすることが自然な操作として利用できる様にしている。

window.historyをセッション管理に使う

historyで画面表示毎の情報をオブジェクトとして保持できる。これがセッション管理に使える。
詳しくは気が向いたら落書きします。