待办清单刷新后还在,只说明浏览器里留住了数据。想在清理浏览器之前留一份副本,需要把它导出成真正的文件。
这个小需求很适合交给 Codex:范围清楚,结果也容易检查。
先把文件里该有什么说清楚
演示要求导出 JSON,包含格式标识、版本、导出时间和当前任务。还要覆盖几个容易漏掉的情况:
- 中文、引号和 emoji 保留。
- 已删除的任务不能混进文件。
- 空清单也能导出。
- 再次导出反映最新内容。
- 导出后页面里的任务保持原样。
实现思路是用 JSON.stringify 生成文本,再用 Blob 构造供浏览器下载的内容。格式标识和版本用于让未来的导入功能识别文件,不要等做恢复时才临时猜结构。MDN:Blob
别只检查按钮能不能点
页面说“已发起导出”,不代表文件已经保存到磁盘。测试要拿到实际下载文件,再解析里面的数据。
在 Playwright 中,先开始等下载事件,再点按钮;得到下载对象后保存文件。官方说明还提醒:浏览器上下文关闭后,其临时下载文件会被删除,需要保留时应显式保存。Playwright 下载说明
给 Codex 的任务可以写成:
1 | 保持现有增删、保存和页面样式,增加 JSON 导出按钮。 |
原演示检查了什么
2026年10月5日的本地 Edge 运行记录中,4项下载检查与4项原有保存检查共8项通过。旧保存版没有导出按钮,相同下载检查出现1项预期失败;这是新功能缺失的对照,不是一次线上故障。
这一步只完成导出。文件能不能重新导入、导入会替换还是合并,都要另做设计与验收,可以接着看把清单带到另一个浏览器。
原笔记发表于2026年10月6日,博客于10月27日整理,沿用上述运行记录,没有重新测试;Safari、Firefox、手机与自动同步均未验证。