History.scrollRestoration - スクロール位置の復元
scrollRestorationは、Historyのプロパティです。「戻る」や「進む」などでブラウザの履歴エントリー間の移動があった時、スクロール位置を復元するか否かを指定できます。
概要
- 名前
- scrollRestoration
- 所属
- History
- IDL
attribute ScrollRestoration scrollRestoration; enum ScrollRestoration { "auto", "manual" };
- 仕様書
- https://html.spec.whatwg.org/multipage/history.html#dom-history-scroll-restoration
説明
下記のキーワードを文字列で指定する。
- auto
- 初期値。スクロール位置を復元する。
- manual
- スクロール位置を復元しない。
プロパティの値は、履歴エントリーごとに保持されます。例えばAからBへ移動する時、Bが保持しているプロパティの値が優先され、挙動に反映されます。
デモ
History.scrollRestorationのデモです。1.html、2.htmlという2つの同じページを用意しました。2つのページ間をまずはリンクで移動して、そこから「戻る」「進む」を実行してみて下さい。scrollRestorationの値を"manual"にすると、「戻る」、または「進む」でそのページに戻ってきた時、スクロールの位置がリセットされているのを確認しましょう。
<p>scrollRestoration: <label><input type="radio" id="auto">auto</label> / <label><input type="radio" id="manual">manual</label></p>
<script>
document.getElementById( "auto" ).onclick = function () {
history.scrollRestoration = "auto" ;
}
document.getElementById( "manual" ).onclick = function () {
history.scrollRestoration = "manual" ;
}
</script>
サポート状況
Chrome | Firefox | Safari | Edge | IE | Opera | iOS Safari | Android |
---|---|---|---|---|---|---|---|
● 46+ | ● 46+ | ● 11.0+ | × | × | ● 33+ | ● 11.0+ | × |
関連記事
- Window.moveBy()
- moveBy()は、Windowのメソッドです。相対位置を指定して、ウィンドウを移動します。
- Location
- Locationは、ロケーションの情報を調べたり、操作するための機能を備えたインターフェイスです。
- 龍河洞
- 高知県旅行のブログ。高知龍馬空港から車で約30分ほどの位置にある鍾乳洞、「龍河洞」を訪れました。長い時間をかけて自然が作り上げた神秘的な風景を楽しめます。
- History.replaceState()
- replaceState()は、Historyのメソッドです。現在の履歴エントリーを、新しい履歴エントリーに置換します。アドレスが置換後の履歴エントリーのものに変わりますが、http通信は発生しません。置換前の履歴エントリーは失われます。