场域手记
NEXTFIELD / FIELD NOTESI — 前端
CHAPTER 01 / WRITINGFIELD NOTE 33

换页时,什么不该从头来过

播放器、草稿与偏好并不属于某一张页面;它们属于访客正在进行的事情。

前端2026-09-241 分钟阅读

向下阅读

一个音乐播放器可以固定在网站右下角,看起来像「全站常驻」。但视觉上的固定不等于生命周期上的常驻。若每次点击链接都让浏览器整页重新加载,音频节点仍会被销毁,歌曲也会中断。

先画状态的边界

哪些状态属于页面?当前展开的折叠面板、某个筛选器,通常可以随页面离开。哪些状态属于整个站点?音乐播放、语言偏好和未完成的长任务,往往不该因为浏览了另一页就重置。

在 React 应用中,这意味着把跨页状态放在不会随路由切换而卸载的位置。但组件放对了位置还不够:站内链接也要走客户端导航。一个普通的整页跳转,仍会把整棵组件树重新创建。

保留不等于永远恢复

刷新浏览器和真正离站是另一种边界。可以保存音量与「用户主动暂停过」的偏好,却不该未经新交互就擅自恢复有声播放。技术上能记住时间点,也不意味着浏览器允许自动发声。

所以连续性需要分层:站内切换尽量无缝;完整刷新后保留可安全恢复的偏好;跨站授权或离开页面时,明确承认声音可能中断。

用返回键做一次验收

测试播放器时,不要只点播放和暂停。试试进入文章、打开登录页、按返回、切换语言、再回到曲目清单。真正的漏洞通常藏在这些路线交叉处,而不是播放器本身。