【JavaScript】のwindow.historyの詳細解説
JavaScriptでのwindow.historyの詳細解説
window.historyとは
window.history
は、ブラウザの「セッション履歴」にアクセスするためのオブジェクトです。セッション履歴とは、現在のブラウザタブでユーザーが訪問したページの履歴を指します。このオブジェクトを利用すると、プログラムから履歴を操作したり、ページを遷移させたりすることが可能です。
主な用途:
- ユーザーを前のページに戻す
- 次のページに進ませる
- 指定した数だけ履歴を移動する
- 現在の履歴の長さを取得する
window.history.length
window.history.length
は、現在のセッション履歴に含まれるエントリの数を取得します。このプロパティは読み取り専用で、履歴の中で何ページの記録があるかを知るのに役立ちます。
例:
console.log(window.history.length);
例えば、3つのページを順に訪れた後、このコードを実行すると、3
と表示されます。
window.history.back()
window.history.back()
は、ユーザーをセッション履歴内の1つ前のページに戻します。ブラウザの「戻る」ボタンと同じ動作をします。
例:
window.history.back();
このコードを実行すると、1つ前のページに戻ります。
注意点として、セッション履歴に前のページが存在しない場合、このメソッドは何も起こしません。
window.history.forward()
window.history.forward()
は、セッション履歴内の次のページに移動します。ブラウザの「進む」ボタンと同じ動作をします。
例:
window.history.forward();
このコードを実行すると、次のページに進みます。
このメソッドも、セッション履歴に次のページが存在しない場合は何も起こりません。
window.history.go(n)
window.history.go(n)
は、履歴を指定した数だけ進む、または戻るメソッドです。n
が正の数の場合は進み、負の数の場合は戻ります。
例:
window.history.go(-1); // 1つ前のページに戻る
window.history.go(2); // 2つ次のページに進む
n
に0
を指定すると、現在のページがリロードされます。
window.history.go(0); // 現在のページを再読み込み
n
の値が履歴の範囲外の場合、このメソッドは何も起こしません。