JavaScript入門 | ブラウザオブジェクトモデル | Historyオブジェクト

Historyオブジェクト

historyオブジェクトは、ブラウザの履歴情報を文書と文書状態の一覧として保存するオブジェクトである。JavaScriptは、ユーザーの個人情報を保護するため、このオブジェクトへのアクセス方法を一部制限している。

履歴一覧の数

historyオブジェクトのlengthプロパティは、ブラウザの履歴一覧の数を返す。

function openDocument() {
    location.assign("/javascript/js_bom_history");
}
document.getElementById("text").innerHTML =
"現在のブラウザの履歴一覧の数は " + history.length + " 個です。";

履歴一覧にアクセスする

historyオブジェクトには、ブラウザの戻るボタンや進むボタンと同じ動作をするback()メソッドとforward()メソッドがある。また、go()メソッドを利用すると、引数として渡した整数の分だけ履歴一覧の間を移動できる。

次の例は、back()メソッドを利用してブラウザの履歴一覧から直前のURLへ移動する例である。このボタンは、ブラウザの前のページへ戻るボタンと同じ動作をする。

<script>
    function goBack() {
        window.history.back();
    }
</script>

次の例は、go()メソッドを利用してback()メソッドと同じ動作をさせる例である。

<script>
    function go() {
        window.history.go(-1);
    }
</script>

上の例のように、go()メソッドに引数として-1を渡すと、back()メソッドと同じ動作をする。

次の例は、forward()メソッドを利用してブラウザの履歴一覧から直後のURLへ移動する例である。このボタンは、ブラウザの次のページへ進むボタンと同じ動作をする。

<script>
    function goForward() {
        window.history.forward();
    }
</script>