概述History API 允许在不刷新页面的情况下更新地址与状态,监听 `popstate` 响应后退/前进。适合作为 SPA 的路由基础,并与滚动恢复与视图过渡协作。示例function navigate(url, state) {
history.pushState(state, '', url)
render(url, state)
}
window.addEventListener('popstate', e => {
render(location.pathname + location.search, e.state)
})
工程建议状态与序列化:在 `state` 中存储轻量数据;避免大型对象与循环引用。滚动与过渡:与 `history.scrollRestoration`/视图过渡配合;避免跳动。兼容:处理无 `state` 的后退;在首屏加载时根据 URL 初始化。参考与验证MDN History API 文档:https://developer.mozilla.org/docs/Web/API/History_API

发表评论 取消回复