[12] History
インターフェイスの scrollRestoration
IDL属性は、履歴操作の後スクロール位置を利用者エージェントが自動的に復元するべきか、
著者のスクリプトに任せるべきかを表すものです。
[13] 通常はページ遷移が発生すると、その時点でのスクロール位置が保存され、
次に履歴移動で戻ってきた際にそれが復元されます。しかしこの属性を
manual
に設定しておくことで、この復元を抑制できます。
複雑な表示処理を伴うWebアプリケーションでは、
利用者エージェントに任せるよりも著者のスクリプトで復元作業を行った方が良いことがあります。
[14] 利用者エージェントによるスクロール位置の復元は、 利用者の利便性を向上させるための機能です。著者は、 スクロール復元モードを濫用してスクロール位置の復元を無効化したり、 意図的に異なる位置を表示したりするべきではありません。
[31] 多くの場合、 Webブラウザーは利用者の行動を踏まえて最適な方法でスクロール位置を復元できます。 Webアプリケーションの著者が安易にこの挙動を無効化するべきではありません。
[2] セッション履歴エントリーのスクロール復元モードは、 当該セッション履歴エントリーへと履歴を探索した際に、 (あれば) 保存していたスクロール位置を利用者エージェントが自動的に復元するべきかどうかを表します >>1。
[5] スクロール復元モードは、 auto
または manual
です >>3。
これは列挙型 ScrollRestoration
>>9 です。
[6] auto
は、スクロール位置の復元を利用者エージェントが行うべきことを表します
>>3。
[7] manual
は、スクロール位置の復元をページが行い利用者エージェントが行うべきではないことを表します >>3。
[4] スクロール復元モードの既定値は、 auto
です >>3。
[16] 新しい文書への navigate では、 auto
に設定されます。
既存の文書の素片識別子への navigate や pushState
、
replaceState
でセッション履歴エントリーが作られる場合は、
現在値が引き継がれます。
[17] この値は、持続的利用者状態の復元の際に参照されます。
[8] History
インターフェイスの scrollRestoration
属性は、取得時、次のようにしなければなりません >>3。
[11] History
インターフェイスの scrollRestoration
属性は、設定時、次のようにしなければなりません >>3。
[10] この属性の WebIDL の型は、 ScrollRestoration
です >>9。
従って manual
または auto
を新しい値として指定できます。
[18] Tidy up history object API definitions · whatwg/html@a5d4802 ( 版) https://github.com/whatwg/html/commit/a5d48020d6f83d4d2719dbdbf62f5bb8be8ef2f8
[27] Clarify manual scroll restoration mode · whatwg/html@017a842 ( 版) https://github.com/whatwg/html/commit/017a842ec6c63e6ed4f26f77da41270688eab33e
[29] Move scroll position restoration after popstate ( (domenic著, )) https://github.com/whatwg/html/commit/98895af2179ad879da9fa57983ab9589251f7950
[30] Release Notes for Safari Technology Preview 26 | WebKit () https://webkit.org/blog/7474/release-notes-for-safari-technology-preview-26/
[32] New WebKit Features in Safari 11 | WebKit () https://webkit.org/blog/7956/new-webkit-features-in-safari-11/
[33] Editorial: nested browsing context is a member, not a type (annevk, , ) https://github.com/whatwg/html/commit/6b737bbc428facf34ec3728c0912cf9e172d0ea4