diff --git a/.changeset/olive-vans-talk.md b/.changeset/olive-vans-talk.md new file mode 100644 index 000000000000..771cab6881db --- /dev/null +++ b/.changeset/olive-vans-talk.md @@ -0,0 +1,5 @@ +--- +'@sveltejs/kit': patch +--- + +Fix Safari scroll bug on ssr:false page reload diff --git a/packages/kit/src/runtime/client/client.js b/packages/kit/src/runtime/client/client.js index 9a4870b8b524..8bfcd1fd087a 100644 --- a/packages/kit/src/runtime/client/client.js +++ b/packages/kit/src/runtime/client/client.js @@ -299,7 +299,7 @@ export function create_client({ target, session, base, trailing_slash }) { getSelection()?.removeAllRanges(); root.tabIndex = -1; - root.focus(); + root.focus({ preventScroll: true }); // restore `tabindex` as to prevent `root` from stealing input from elements if (tabindex !== null) { diff --git a/packages/kit/test/apps/basics/src/routes/no-ssr/margin.svelte b/packages/kit/test/apps/basics/src/routes/no-ssr/margin.svelte new file mode 100644 index 000000000000..982a04c9defb --- /dev/null +++ b/packages/kit/test/apps/basics/src/routes/no-ssr/margin.svelte @@ -0,0 +1,14 @@ +