自动保存能减少重填,也可能在共用设备上暴露资料。增加多步需求表草稿前,应约定可保存字段、有效期及表单版本。恢复按钮不应悄悄带回过时选项或敏感附件。
适用读者与交付决定
收集较长非敏感项目需求的企业。把本题作为网站供应方的有限验收任务;实际系统证据不能由教学例子替代。
官方依据与解释边界
sessionStorage按源与标签页会话区分,可跨刷新保留;它本身不是自定义到期机制或访问控制边界。 MDN: sessionStorage · 核对日期:2026年10月16日。
已填写教学例子
合成例子,不是真实客户案例。 列出有限输入、预期结果及反例,不代表已完成真实平台集成。
窄屏可横向滚动表格。
| 输入/情况 | 检查口径 | 预期结果 |
|---|---|---|
| version2, age10min, TTL30min | 当前非敏感草稿 | 可继续核对恢复 |
| version1 → current2 | 结构版本不同 | 丢弃或复核 |
| age30min, TTL30min | 到期边界 | 已过期 |
怎样执行验收
- 批准最少的非敏感字段清单,并说明草稿行为。
- 在隔离浏览器会话测试刷新、到期、清除及表单版本变化。
- 正式提交前仍执行当前校验,不把恢复文字当成收到询盘。
如何解释结果与保留证据
离线检查仅核对提供的版本与时间,不存储数据,也不验证浏览器持久化。真实实现应记录恢复或拒绝原因,并测试共用设备和退出场景。若需跨设备恢复,应另定认证方案,不能假定sessionStorage自带这种能力。
适用边界
本教学设计不保存密码、健康法律资料或私密文件,不是隐私法律评估,也不授权改旧表单。
离线复核
把下方两份文件存入同一目录,以Node22.13或更新版本运行。示例不联网、不修改任何账号或网站。 已填输入与预期输出 · 可检查的函数
node decision-check.mjs multistep-enquiry-draft-expiry.json