概述`history.scrollRestoration` 控制浏览器在后退/前进时是否自动恢复滚动位置。在 SPA 与定制导航场景,手动管理滚动可避免突兀跳转并协作视图过渡与数据加载。示例// 手动控制滚动恢复

history.scrollRestoration = 'manual'

// 在导航完成后恢复到保存的位置

const pos = sessionStorage.getItem('scroll')

if (pos) scrollTo(0, parseInt(pos, 10))

// 在离开前保存位置

window.addEventListener('beforeunload', () => sessionStorage.setItem('scroll', String(scrollY)))

工程建议与视图过渡:在过渡完成后恢复滚动;避免加载中恢复导致抖动。与锚点:结合 `scroll-margin/scroll-padding` 确保恢复后可见性与定位正确。兼容:在不支持的环境保持默认行为;记录用户反馈调整策略。参考与验证MDN `scrollRestoration` 文档:https://developer.mozilla.org/docs/Web/API/History/scrollRestorationweb.dev 导航体验与滚动治理:https://web.dev/

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部